node啟動js-3DES-ECB加密,python-3DES-ECB加密

来源:https://www.cnblogs.com/pythonywy/archive/2020/07/01/13220810.html
-Advertisement-
Play Games

一.node啟動js-3DES-ECB加密 var arguments = process.argv.splice(2); // console.log('所傳遞的參數是:', arguments); var password = arguments[0]; //加密的password var t= ...


一.node啟動js-3DES-ECB加密

var arguments = process.argv.splice(2);
// console.log('所傳遞的參數是:', arguments);

var password = arguments[0];   //加密的password
var t=  arguments[1];   //加密的txt
var forge = require('node-forge');
// var fs = require('fs'); 寫文件
// console.log(t);
var n = forge.cipher.createCipher("3DES-ECB",password );
n.start();
n.update(forge.util.createBuffer(forge.util.encodeUtf8(t)));
n.finish();
var data = forge.util.encode64(n.output.getBytes()).toString();
console.log(data);
// fs.writeFile(name, data, function (error) {});

二.python-3DES-ECB加密

from Crypto.Cipher import DES3
import base64
import json
BS = DES3.block_size


def pad(s):
    return s + (BS - len(s) % BS) * chr(BS - len(s) % BS)


def unpad(s):
    return s[0:-ord(s[-1])]


class prpcrypt():
    def __init__(self, key):
        self.key = key
        self.mode = DES3.MODE_ECB

    def encrypt(self, text):
        text = pad(text)
        cryptor = DES3.new(self.key, self.mode)
        x = len(text) % 8
        if x != 0:
            text = text + '\0' * (8 - x)
        text=text.encode("utf-8")
        self.ciphertext = cryptor.encrypt(text)
        return base64.standard_b64encode(self.ciphertext).decode("utf-8")

    def decrypt(self, text):
        cryptor = DES3.new(self.key, self.mode)
        de_text = base64.standard_b64decode(text)
        plain_text = cryptor.decrypt(de_text)
        st = str(plain_text.decode("utf-8")).rstrip('\0')
        out = unpad(st)
        return out

code = json.dumps(text)  //加密的內容
key = 'Q5yuGAZ2hHg1jhuRWjhc39oM'  //鹽
print(prpcrypt(key).encrypt(code))

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # import requests,re,json# # 定義一個函數用來請求噹噹網的網頁信息# def request_dangdang(url):# try:# # 使用get請求# response = requests.get(url)# # 判斷返回的狀態碼是否為200# if respo ...
  • Redis限流的實現方式有3種,分別是:1、基於Redis的setnx的操作,給指定的key設置了過期實踐;2、基於Redis的數據結構zset,將請求打造成一個zset數組;3、基於Redis的令牌桶演算法,輸出速率大於輸入速率,就要限流。 第一種:基於Redis的setnx的操作 我們在使用Red ...
  • 本篇主要是根據AnalyticDB的論文,來討論AnalyticDB出現的背景,各個模塊的設計,一些特性的解析。可能還會在一些點上還會穿插一些與當前業界開源實現的比對,希望能夠有一個更加深入的探討。OK,那我們開始吧。 AnalyticDB介紹與背景 要說AnalyticDB,那起碼得知道它是乾什麼 ...
  • 前言 日常的開發中,無不都是使用資料庫來進行數據的存儲,由於一般的系統任務中通常不會存在高併發的情況,所以這樣看起來並沒有什麼問題。 一旦涉及大數據量的需求,如一些商品搶購的情景,或者主頁訪問量瞬間較大的時候,單一使用資料庫來保存數據的系統會因為面向磁碟,磁碟讀/寫速度問題有嚴重的性能弊端,詳細的磁 ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 現如今瀏覽器可謂是五花八門,火狐、UC、360、QQ 這些瀏覽器不論美觀還是所謂的安全方面都做的很符合我們需求。但如果你的工作與 IT 掛鉤,無疑 Chrome 將是很多朋友 ...
  • 一.通過console.log輸出(我最喜歡的) 1.js腳本 1.js var arguments = process.argv.splice(2); //獲得入參 var a= arguments[0]; 取第一個 console.log(a) //輸出 2.python腳本 test_1.py ...
  • numpy廣播(Broadcast) 若數組a,b形狀相同,即a.shape==b.shape,那麼a+b,a*b的結果就是對應數位的運算 import numpy as np a=np.array([[1,2,3],[4,5,6]]) b=np.array([[1,4,7],[2,5,8]]) p ...
  • 不知不覺中,做Java開發已經四年了,趁著現在換了工作,還算比較閑,就整理一下自己學習的一些知識。 在學習過程中,我喜歡找的一些電子書來系統化的學習,多數時候我都只是做一個大概的瞭解,沒有深入學習,基本就是看下目錄,看下前幾章的內容,深入的只會在實際用的時候才去詳細看了。我從以下幾個方面整理了一下這 ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...