Советы по предотвращению проблемы (плохой хэш):
Я обнаружил, что NodeJS хэширует UTF-8 представление строки. Другие языки (например, Python, PHP или PERL ...) хэшируют строку байта.
Мы можем добавить двоичный аргумент , чтобы использовать строку байтов.
const crypto = require("crypto");
function sha1(data) {
return crypto.createHash("sha1").update(data, "binary").digest("hex");
}
sha1("Your text ;)");
Вы можете попробовать: "\ xac", "\ xd1", "\ xb9", "\ xe2", "\ xbb", "\ x93" и т. Д. *
Другие языки (Python, PHP, ...):
sha1("\xac") //39527c59247a39d18ad48b9947ea738396a3bc47
Nodejs:
sha1 = crypto.createHash("sha1").update("\xac", "binary").digest("hex") //39527c59247a39d18ad48b9947ea738396a3bc47
//without:
sha1 = crypto.createHash("sha1").update("\xac").digest("hex") //f50eb35d94f1d75480496e54f4b4a472a9148752