大家好像都比较少关心webcrypto,试试写个简单的sha1/sha256/sha384/sha512实现看看
来源:互联网 发布:json对象里能放图片吗 编辑:程序博客网 时间:2024/04/27 22:06
<!DOCTYPE html><html> <head> <META NAME="Author" CONTENT="emu"> <META NAME="Keywords" CONTENT="webcrypto sha1 sha256 sha384 sha512"> </head> <body> <div id=sha></div> <script type="text/javascript"> function output(sign) { document.getElementById("sha").innerHTML += sign + "<br>"; }function bufferToString(b){var dataview = new DataView(b);result = "";for (var i = 0; i < b.byteLength; i += 4) {tmp = dataview.getUint32(i).toString(16);result += (tmp.length == 8 ? "" : "0") + tmp;}return result;} function digest(s, callback, algorithm, errCallback) { try { if (!errCallback) { errCallback = callback; } var c = window.crypto || window.msCrypto; var subtle = c.subtle || c.webkitSubtle; if (!algorithm) algorithm = "SHA-512"; var a = s.split(""); for (var i = 0; i < a.length; i++) { a[i] = a[i].charCodeAt(0) }; var data = new Uint8Array(a); var op = subtle.digest({ name: algorithm }, data);if("then" in op){op.then(function(buffer) {callback(bufferToString(buffer));}, function(e) {errCallback(e);})}else{op.oncomplete=function(s){callback(bufferToString(s.target.result));}} } catch (e) { errCallback(e); } } digest("test", new Function("output('sha-1(<i>test</i>) : '+arguments[0])"), "SHA-1"); digest("test", new Function("output('sha-256(<i>test</i>) : '+arguments[0])"), "SHA-256"); digest("hello", new Function("output('sha-384(<i>hello</i>) : '+arguments[0])"), "SHA-384"); digest("world", new Function("output('sha-512(<i>world</i>) : '+arguments[0])"), "SHA-512"); </script> </body></html>
使用了浏览器原生接口,对旧浏览器没有什么兼容性可言了,尤其是IE,一时半会儿还用不上。
0 0
- 大家好像都比较少关心webcrypto,试试写个简单的sha1/sha256/sha384/sha512实现看看
- .net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密
- 再次利用openssl来计算sha1, sha224, sha256, sha384, sha512
- Windows store app Hash(MD5/SHA1/SHA256/SHA384/SHA512)
- 利用openssl来计算sha1, sha224, sha256, sha384, sha512
- ios开发——Objective-c的SHA224/SHA256/SHA384/SHA512加密算法的实现
- iOS开发之Objective-c的SHA224/SHA256/SHA384/SHA512加密算法的实现
- iOS开发之Objective-c的SHA224/SHA256/SHA384/SHA512加密算法的实现
- C语言实现MD5/SHA1/SHA256/SHA512
- [VB.Net]MD5/MD160/SHA1/SHA256/SHA384/SHA512/Base64-Encode/Base64-Decode
- 如何利用openssl来计算md4, md5, sha1, sha256, sha384, sha512等常用哈希值?
- 用OpenSSL 做HMAC(sha512/sha256/sha1/md5/sha224/sha384/sha/md2)
- 如何利用openssl来计算md4, md5, sha1, sha256, sha384, sha512等常用哈希值?
- c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法
- c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法
- c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法
- c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法
- 42个才知道,希望大家都看看,写的真的很好
- html <a>标签属性
- matlab 调用emd函数
- 改变世界的17个等式
- UVa 1330 - City Game
- css float与clear详解
- 大家好像都比较少关心webcrypto,试试写个简单的sha1/sha256/sha384/sha512实现看看
- 数字签名&数字证书
- 滤波器设计指标
- How to fix the bug 640*480 resolution only when install ubuntu 14.04 on a old laptop?
- hadoop 项目及其结构(一)
- 数字信号处理中各种频率关系
- 操作系统
- DVD光驱注册表修复
- 学习FPGA的网站推荐