一个例子:salt:47998d63768aa877,密文:bef36ba826b045a7c5e536a2f7131a6c232eee36,明文:yunstudio2013
下败渗返面是java代码察饥:
private static byte[] digest(byte[] input, String algorithm, byte[] salt, int iterations) {
try {
MessageDigest digest = MessageDigest.getInstance(algorithm)
if (salt != null) {
digest.update(salt)
}
byte[] result = digest.digest(input)
for (int i = 1i <iterationsi++) {
digest.reset()
result = digest.digest(result)
}
return result
} catch (GeneralSecurityException e) {
throw Exceptions.unchecked(e)
}
}
我在js里面是这么干的,但是结果一直不对,代码如下:
/喊游/bef36ba826b045a7c5e536a2f7131a6c232eee36
var hash = crypto.createHmac("sha1", “47998d63768aa877”).update(“yunstudio2013”).digest(“hex”)
for (var i = 1i <1024i++) {
hash = crypto.createHmac("sha1", “47998d63768aa877”).update(hash).digest(“hex”)
console.log(hash)
}
有(HashTable)。
用JS实现的数据结构,可在js的项目(前端梁雀码或nodejs后端)中使用。
具体看可以看npm上的介绍橡哪,或github源码。
还有其它常用数岁弯据结构,
Stack
Queue
PriorityQueue
LinkedList
DoublyLinkedList
CircleLinkedList
HashTalbe
BinarySearchTree
RedBlackTree
UndirectedGraph
DirectedGraph
---
NPM 包:data-struct-js
>npm install data-struct-js
使用require('crypto')调用加密模块。加密模块需要底层系统提供OpenSSL的支持。它提仿前供了一种安全凭证的封装方式,可以用于HTTPS安全网络以备蠢清及普通HTTP连接。
该模块还提供了一套档圆针对OpenSSL的hash(哈希),hmac(密钥哈希),cipher(编码),decipher(解码),sign(签名)以及verify(验证)等方法的封装。
crypto.createCredentials(details)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)