摘要算法 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的主要内容,如果未能解决你的问题,请参考以下文章

以下代码片段的时间复杂度是多少?

hashlib模块

hashlib模块

常用模块二

hashlib模块

hashlib