nik*_*avi 9 base64 md5 node.js
这是我的代码
var sig = crypto.createHash('md5')
.update('The quick brown fox jumps over the lazy dog')
.digest('base64');
console.log(sig)
Run Code Online (Sandbox Code Playgroud)
结果nhB9nTcrtoJr2B01QqQZ1g==(在Mac OS X上).
我正在尝试从ios应用程序生成相同的签名.目标c中的结果与在线转换器站点中的结果相同:字符串
The quick brown fox jumps over the lazy dog
转换为md5,我明白了
9e107d9d372bb6826bd81d3542a419d6,
而这个的基础64是OWUxMDdkOWQzNzJiYjY4MjZiZDgxZDM1NDJhNDE5ZDY=.
为什么这些字符串不同?这不是nodejs加密模块正在做的吗?用于获取用base64消化的md5哈希的nodejs算法的等价物是什么?
Tho*_*son 15
字符串OWUxMDdkOWQzNzJiYjY4MjZiZDgxZDM1NDJhNDE5ZDY=是字符串的base64编码版本,9e107d9d372bb6826bd81d3542a419d6它是纯文本字符串的md5哈希The quick brown fox jumps over the lazy dog.
如果要在节点中执行此操作,首先必须以十六进制获取md5哈希:
var crypto = require('crypto');
var s = 'The quick brown fox jumps over the lazy dog';
var md5 = crypto.createHash('md5').update(s).digest('hex');
Run Code Online (Sandbox Code Playgroud)
现在你有md5哈希为hex(9e107d9d372bb6826bd81d3542a419d6).现在你所要做的就是将它转换为base64:
new Buffer(md5).toString('base64');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5278 次 |
| 最近记录: |