摘要算法 rd16
Posted Rand Tsui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了摘要算法 rd16相关的知识,希望对你有一定的参考价值。
rand digest 16bit
const modulus16 = 256 * 256;
const rd16 = t => {
let buf = Buffer.isBuffer(t) ? t : Buffer.from(t);
let p = Math.floor(buf.length / 2);
let r = buf.length % 2;
let checksum = 0;
for (let i = 0; i < p; i += 2) {
checksum = (checksum + buf[i] * 256 + buf[i + 1]) % modulus16;
}
if(r === 1) {
checksum = (checksum + buf[p]) % modulus16;
}
buf = Buffer.allocUnsafe(2);
buf[0] = Math.floor(checksum / 256);
buf[1] = checksum % 256;
return buf;
};
console.log(rd16('hello world!')); //<Buffer 43 f1>
以上是关于摘要算法 rd16的主要内容,如果未能解决你的问题,请参考以下文章