平文の暗号化に問題があります。
私がPythonでやっていること:
def encrypt(plaintext):
import hashlib, base64
hashed = hashlib.sha256(plaintext).digest()
return base64.b64encode(hashed)
def main():
input_value = "a"
output = encrypt(plaintext=input_value)
print output
if __name__ == "__main__":
main()
Python での結果:
ypeBEsobvcr6wjGzmiPcTaeG7/gUfE5yuYB3ha/uSLs=
私がJSでやっていること:
var result = '';
var plaintext = 'a';
if(plaintext != null && plaintext != undefined) {
var hashed = CryptoJS.SHA256(plaintext);
result = hashed.toString(CryptoJS.Base64);
}
alert(result);
JS での結果:
ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
誰かが私が間違っていることを知っていますか?
または、両方の言語で同じ暗号化結果を得る方法はありますか?
ちなみに、私のデータベースにはすでに CryptoJS で暗号化された値があるので、Python コードを変更する方が簡単です。