本文主要是介绍javascript 实现sm3哈希算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
javascript 实现sm3哈希算法
各位看官直接上code,随copy随食用。
分别建三个js文件:
- sm_utils.js
var utils = exportsutils.strToBytes = strToBytesfunction strToBytes(s) {var ch, st, re = [];for (var i = 0; i < s.length; i++ ) {ch = s.charCodeAt(i); // get charst = []; // set up "stack"do {st.push( ch & 0xFF ); // push byte to stackch = ch >> 8; // shift value down by 1 byte}while ( ch );re = re.concat( st.reverse() );}return re;
}
- sm_sm3.js
/*** SM3 hash algorithm*/var utils = require('./sm_utils');/*** SM3 Hasher*/
function SM3() {if (!(this instanceof SM3)) {return new SM3();}this.reg = new Array(8);this.chunk = [];this.size = 0;this.reset();
}
module.exports = SM3;SM3.prototype.reset = function() {this.reg[0] = 0x7380166f;this.reg[1] = 0x4914b2b9;this.reg[2] = 0x172442d7;this.reg[3] = 0xda8a0600;this.reg[4] = 0xa96f30bc;this.reg[5] = 0x163138aa;this.reg[6] = 0xe38dee4d;this.reg[7] = 0xb0fb0e4e;this.chunk = [];this.size = 0;
}/*** Stream hashin
这篇关于javascript 实现sm3哈希算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!