Ke.*_*Ke. 7 javascript hash sha1
我有同样的问题:可以在流上计算SHA-1算法吗?内存占用少?
我正在寻找一个JavaScript实现,它逐块地计算一个非常大的字符串.我们的想法是将字符串切成512位块并逐块进行.
任何提示?
[更新]感谢sunetos的帮助,我写了一个简单的html5 java脚本应用程序:在Javascript中使用HTML5文件API生成SHA1文件校验和
我相信我在http://pajhome.org.uk/crypt/md5/contrib/sha1_stream.js上遇到了 Paul Johnston 的一篇文章。它列在页面http://pajhome.org.uk/crypt/md5/scripts.html上。我自己没有测试过,但我使用了他修改后的非流媒体版本。
更新:这是一些示例代码(我根据已知正确的单独 SHA1 对其进行了验证)。确保在可流式传输的 sha1_stream.js 之前包含原始 sha1.js(可在http://pajhome.org.uk/crypt/md5/sha1.js找到)。
<script src="sha1.js" type="text/javascript" charset="utf-8"></script>
<script src="sha1_stream.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
var input = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz';
var blocksize = 512;
var h = naked_sha1_head();
for (var i = 0; i < input.length; i += blocksize) {
var len = Math.min(blocksize, input.length - i);
var block = input.substr(i, len);
naked_sha1(str2binb(block), len*chrsz, h);
}
var result = binb2hex(naked_sha1_tail(h));
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3644 次 |
| 最近记录: |