python各種加密演算法

2021-08-14 08:58:08 字數 1137 閱讀 4977

python內建的base64模組可以實現base64、base32、base16、base85、urlsafe_base64的編碼解碼,python 3.x通常輸入輸出都是二進位制形式,2.x可以是字串形式。

base64模組的base64編碼、解碼呼叫了binascii模組,binascii模組中的b2a_base64()函式用於base64編碼,binascii模組中的a2b_base64()函式用於base64解碼。

import base64

s ='hello, world'

base64.b64encode(bytes(s, 'ascii'))

b'agvsbg8sihdvcmxk'

base64.b64decode(base64.b64encode(bytes(s, 'ascii')))

b'hello, world'

python2.x中有md5模組,此模組呼叫了hashlib模組,python3.x已中將md5取掉,直接通過呼叫hashlib模組來進行md5。python2.x可以直接使用unicode字元,但3.x中必須使用二進位制位元組串。

import hashlib

m = hashlib.md5()

m.update(b'hello, world!')

m.hexdigest()

'3adbbad1791fbae3ec908894c4963870'

類似於md5

import hashlib

m = hashlib.sha1()

m.update(b'hello, world!')

m.hexdigest()

'1f09d30c707d53f3d16c530dd73d70a6ce7596a9'

計算指定內容的crc32校驗值,可以用zlib以及binascii模組的crc32函式.

import zlib

import binascii

s = b'hello, world!'

zlib.crc32(s)

1486392595

binascii.crc32(s)

1486392595

各種加密演算法C

待加密的字串 加密金鑰,要求為8位 加密成功返回加密後的字串,失敗返回源串 public static string encryptdes string encryptstring,string encryptkey catch des解密字串 待解密的字串 解密金鑰,要求為8位,和加密金鑰相同 解...

各種加密演算法比較

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

各種加密演算法比較

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