跨語言使用對稱加密

2021-09-30 06:59:04 字數 1129 閱讀 5443

這兩天在寫gm工具,使用wxpython開發,gm工具需要與web伺服器進行簡單的互動,web伺服器是用.net寫成。一些關鍵的資料在傳輸的過程中進行了加密。.net有非常完整的加密庫,使用也很方便,翻箱倒櫃從以前的**中整了一些對稱加密演算法出來。而python標準模組只提供一些hash加密演算法,沒有提供私鑰加密與共鑰加密演算法,但是借助於開源社群強大的威力,可以很方便的找到加密庫。從網上找了一pydes模組,它實現了des與tripledes演算法,經過簡單的測試,用.net加密,用python解密或者用python加密,用.net解密沒有任何問題。寫這篇檔案,做個標記,以後再用到類似的應用時,直接翻出來使用,yeah~~~

.net提供的3des加密演算法:

class tripledes

/// /// 加密資料

///

///

///

public string encrypt(string data)

/// /// 解密資料

///

///

///

public string decrypt(string endata)

public static tripledes _3des = new tripledes("0123456789012345", "01234567");

public static string en(string data)

public static string de(string endata)

}

python版本:

import pydes

_3des = pydes.triple_des('0123456789012345', pydes.cbc, '01234567', pad = none, padmode = pydes.pad_pkcs5)

def encrypt(data):

e = _3des.encrypt(data)

return base64.b64encode(e)

def decrypt(endata):

d = base64.b64decode(endata)

return _3des.decrypt(d)

對稱加密 非對稱加密

區別在於加密金鑰和解密金鑰是否一樣,一樣則是對稱加密,不一樣則是非對稱加密。對稱加密計算量小,但若不同的客戶端使用不能的金鑰時,伺服器的複雜大。常用的對稱加密包括 des 3des aes des 3des使用的架構為feistel。des金鑰長度為56位,3des相容des,可設定3個56位密碼,...

對稱加密 非對稱加密

1 對稱加密 對稱加密採用了對稱密碼編碼技術,它的特點是檔案加密和解密使用相同的金鑰,即加密金鑰也可以用作解密金鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,金鑰較短,且破譯困難,除了資料加密標準 des 另乙個對稱金鑰加密系統是國際資料加密演算法 idea 它比des的...

對稱加密 非對稱加密

演算法選擇 對稱加密aes,非對稱加密 ecc,訊息摘要 md5,數字簽名 dsa 對稱加密演算法 加解密金鑰相同 名稱金鑰長度 運算速度 安全性資源消耗 des56位較快低 中3des 112位或168位慢中 高aes 128 192 256位快高 低非對稱演算法 加密金鑰和解密金鑰不同 名稱成熟...