| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- var block = 1;
- var random = 0;
- var data = "Hello World";
- var int = 3;
- var hash = "NULL";
- function repeat(src, n) {
- return new Array(n + 1).join(src);
- }
- function writeLocal() {
- json = `{"block": "${block}", "random": "${random}", "data": "${data}", "int": "${int}", "hash": "${hash}"}`;
- localStorage.calc_hash = json;
- document.getElementById("block").value = block;
- document.getElementById("random").value = random;
- document.getElementById("data").value = data;
- document.getElementById("int").value = int;
- document.getElementById("hash").value = hash;
- }
- function readLocal() {
- json = localStorage.calc_hash;
- if (json != null) {
- json = JSON.parse(json);
- } else {
- json = null;
- }
- console.log(json);
- return json;
- }
- function calc() {
- block = document.getElementById("block").value;
- random = document.getElementById("random").value;
- data = document.getElementById("data").value;
- var input = `block=${block};random=${random};data=${data}`;
- var output = CryptoJS.SHA256(input);
- hash = output.toString(CryptoJS.enc.Hex).toUpperCase();
- document.getElementById("block").value = block;
- document.getElementById("random").value = random;
- document.getElementById("data").value = data;
- document.getElementById("hash").value = hash;
- }
- function start() {
- block = document.getElementById("block").value;
- random = document.getElementById("random").value;
- data = document.getElementById("data").value;
- int = Number(document.getElementById("int").value);
- if (int < 2) {
- alert("取0的个数太少了!");
- int = 2;
- document.getElementById("int").value = int;
- return;
- } else if (int > 9) {
- alert("取0的个数太多了!\n你想让你的计算机燃烧吗??");
- int = 4;
- document.getElementById("int").value = int;
- return;
- }
- random = 0;
- var now, target, input, output;
- target = repeat("0", int);
- document.getElementById("random").value = "0";
- document.getElementById("hash").value = "计算中...\n计算量过大页面会卡死...";
- setTimeout(() => {
- while (now != target) {
- input = `block=${block};random=${random};data=${data}`;
- output = CryptoJS.SHA256(input);
- hash = output.toString(CryptoJS.enc.Hex);
- now = hash.slice(0, int);
- console.log(now);
- random += 1;
- }
- random -= 1;
- hash = hash.toUpperCase();
- writeLocal();
- }, 500);
- }
- function onLoad() {
- localData = readLocal();
- if (localData != null) {
- block = localData.block;
- random = localData.random;
- data = localData.data;
- int = localData.int;
- hash = localData.hash;
- document.getElementById("block").value = block;
- document.getElementById("random").value = random;
- document.getElementById("data").value = data;
- document.getElementById("int").value = int;
- document.getElementById("hash").value = hash;
- } else {
- writeLocal();
- calc();
- }
- }
|