sha1.js php 互通,javascript – node.js和PHP之间的SHA1哈希差异

我想将node.js代码的这一部分转换为

PHP代码. (工作)

function generateHashedPass (password, salt) {

var byteSalt = new Buffer(salt, 'base64');

var bytePass = new Buffer(password, 'ucs2');

var byteResult = Buffer.concat([byteSalt, bytePass]);

return sha1.update(byteResult).digest('base64');

}

console.log(generateHashedPass('111111', 'UY68RQZT14QPgSsfaw/F+w==') === 'L0xc787MxCwJJaZjFX6MqxkVcFE=' ? "Algo correct" : "Algo wrong" );

现在我在php中有这样的东西:(不工作)

public function getHashedPass($pass, $salt) {

$base_salt = unpack('H*', base64_decode($salt));

$base_pass = unpack('H*', mb_convert_encoding($pass, 'UCS-2', 'auto'));

$base_result = $base_salt[1] . $base_pass[1];

return base64_encode(sha1($base_result));

}

但结果与node.js函数不同.

结果应为:L0xc787MxCwJJaZjFX6MqxkVcFE =

密码为:111111

盐是:UY68RQZT14QPgSsfaw / F w ==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值