%ENCRYPT()%関数
返値 文字列型 第一引数 文字列型 現在は"DES_CBC"のみ可能です。 第二引数 文字列型 CBC初期値。8桁のASCII文字列を指定してください。 第三引数 文字列型 DESキー文字列型。8・16・24・32桁いずれかのASCII文字列を指定してください。 第四引数 文字列型 暗号化する文字列です。 # Pythonコード開始
import base64
from pyDes import des, CBC, PAD_NORMAL
# ここではencrypted_stringがCsvToWebRecから送信されたデータです
b64_dec = base64.b64decode(encrypted_string)
# ここではCBC初期値が'ABCDEFGH'、DESキーが'IJKLMNOP'です
decryptor = des('IJKLMNOP'.encode(), CBC, 'ABCDEFGH'.encode(), pad = None, padmode = PAD_NORMAL)
decrypted_string = decryptor.decrypt(b64_dec)
# Base64化で終端NULL文字が入ってしまったので取り去ります
unicode_string = unicode(decrypted_string, 'utf-8')
new_length = 0
old_length = len(unicode_string)
for i in range(old_length):
if ord(unicode_string[i]) == 0:# ord()の結果が0の場合NULL文字ということです
break # NULL文字がみつかりました
new_length = new_length + 1
if new_length != old_length:
unicode_string = unicode_string[0:new_length] # NULL文字を取り去りました