加密代码
async function hash(s) {
const encoder = new TextEncoder();
const data = encoder.encode(s);
const hashBuffer = await crypto.subtle.digest(`SHA-256`, data);
const hashArray = Array.from(new Uint8Array(hashBuffer));
const numericHash = hashArray.reduce((acc, val) => {
return (acc * 256n + BigInt(val));
}, 0n);
let ans = `by SHA-256
具体说明见这里:https://fx6d4ukd61.fy.takin.cc/discuss/27
------------------------------
`;
ans += `BIN: ` + numericHash.toString(2) + `
OCT: ` + numericHash.toString(8) + `
DEC: ` + numericHash + `
HEX: ` + numericHash.toString(16);
return ans;
}
function get_ans1(s) {
hash(s).then(result => {
document.getElementById(`right-text`).value = result;
});
return `计算中,请稍候...`;
}
解密代码
function get_ans2(s) {
let ans = `SHA-256不支持解密`;
return ans;
}