Ich versuche, einige NodeJS-Code nach Python 3 portieren, aber ich habe Probleme mit einem SHA1-Hash, um sich identisch zu verhalten.Unterschied zwischen NodeJS und Python Hashing
Dieser Code in jeder Sprache zeigt das Problem:
NodeJS
var crypto = require('crypto');
crypto.createHash('sha1');
var h = crypto.createHash('sha1');
h.update(new Buffer('pXHepU2vIdYJuIAN', 'base64').toString('binary'));
console.log(h.digest('hex')); // ea70f5b1ec762290cefd37bc0f9a7421dcc93466
Python 3
import hashlib
import base64
h = hashlib.sha1()
h.update(base64.b64decode(b'pXHepU2vIdYJuIAN'))
print(h.hexdigest()) # 74161d2d37d9fff312dd396d5f779133c4bfd88d
Ich glaube, ich bin mit dem Python-Eingang in den falschen vorbei Format, als ob ich die 10 aus dem NodeJS-Code entfernen, die es entspricht.
Könnte mir jemand erklären, was der Python-Code sein sollte und warum sie sich anders verhalten?
Vergleichen Sie die Daten vor dem Hashing, suchen Sie nach Leerzeichen oder Zeilenumbrüchen. –