您好我有这个Java代码,它使用以下加密方法来加密密码。
MessageDigest digester = MessageDigest.getInstance("SHA-1");
value = digester.digest(password.getBytes());
digester.update(email.getBytes());
value = digester.digest(value);
返回base64编码的字符串,如qXO4aUUUyiue6arrcLAio+TBNwQ=
这样的示例不准确。
我将此转换为NodeJs,不知道如何处理这个问题。我试过像
var crypto = require('crypto');
var shasum = crypto.createHash('sha1');
var value = shasum.update('hello');
shasum.update('abc@xyz.com');
value = shasum.digest(value).toString('base64');
console.log(value);
我在节点js中获得的字符串base64与从java获取的字符串不同。不知道为什么?我需要有与java相同的编码,因为它的旧系统迁移到新系统,不能丢失旧的细节。
有人可以帮助我如何实现相同的base64字符串。