UNPKG

wxmp-rsa

Version:

兼容小程序环境的rsa加解密库,支持超长文本和中文字符

59 lines (58 loc) 1.12 kB
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"; export function int2char(n) { return BI_RM.charAt(n); } //#region BIT_OPERATIONS // (public) this & a export function op_and(x, y) { return x & y; } // (public) this | a export function op_or(x, y) { return x | y; } // (public) this ^ a export function op_xor(x, y) { return x ^ y; } // (public) this & ~a export function op_andnot(x, y) { return x & ~y; } // return index of lowest 1-bit in x, x < 2^31 export function lbit(x) { if (x == 0) { return -1; } var r = 0; if ((x & 0xffff) == 0) { x >>= 16; r += 16; } if ((x & 0xff) == 0) { x >>= 8; r += 8; } if ((x & 0xf) == 0) { x >>= 4; r += 4; } if ((x & 3) == 0) { x >>= 2; r += 2; } if ((x & 1) == 0) { ++r; } return r; } // return number of 1 bits in x export function cbit(x) { var r = 0; while (x != 0) { x &= x - 1; ++r; } return r; } //#endregion BIT_OPERATIONS