1. 最も簡単な方法は、base64 を使用することです。
s1 =base64.encodestring('hello world')
s2 =base64.decodestring(s1)
print s1,s2
# aGVsbG8gd29ybGQ=n
# ハローワールド
注: これは最も単純な方法ですが、安全性が十分ではありません。他の誰かが暗号文を取得すると、自分自身で暗号化を解除して平文を取得することもできるためです
2. 2 番目の方法は、win32com.client
def decrypt(key,content): # key: key, content: ciphertext
EncryptedData = win32com.client.Dispatch('CAPICOM.EncryptedData')
EncryptedData.Algorithm.KeyLength = 5
EncryptedData .Algorithm.Name = 2
EncryptedData.SetSecret(key)
EncryptedData.Decrypt(content)
str = EncryptedData.Content
return str
s1 = encrypt('lovebread', 'hello world')
s2 = decrypt('lovebread', s1)
print s1,s2
# MGEGCSsGAQQBgjdYA6BUMFIGCisGAQQBgjdYAwGgRDBCAgMCAAECAmYBAgFABAgq
# GpllWj9cswQQh/fnBUZ6ijwKDTH9DLZmBgQYmfaZ3VFyS/lq391oDtjlcRFGnXpx
# l G7o
# hello world
3. 別のオプションは、次のような独自の暗号化および復号化アルゴリズムを作成することです。
return ""
n = n // 2
b = bytearray(n)
j = 0
for i in range(0, n) :
c1 = c[j]
c2 = c[j+1]
j = j+2
c1 = c1 - 65
c2 = c2 - 65
b2 = c2 *16 + c1
b1 = b2^ key
b[i]= b1
try:
return b.decode("gbk")
ただし:
return "失敗しました「
key = 15
s1 = encrypt(key, 'hello world')
s2 = decrypt(key, s1)
# HGKGDGDGAGPCIHAGNHDGLG
# hello world