そのため、Google Script で SHA256 を使用して二重ハッシュをミラーリングしようとしましたが、2 番目のハッシュを複製できません。最初のものは正しく複製されますが、最初のハッシュが次のダイジェストに差し込まれると、何かがずれている必要があります。
var teststring = "hello";
var firsthash=Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_256, teststring);
var secondhash=Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_256, firsthash);
app.getElementById('balancelabel').setText("result: "+secondhash);
次に、オンライン コンバーターで最初のハッシュと 2 番目のハッシュを調べます。最初のハッシュは以下の期待に一致しますが、2 番目のハッシュは一致しません。firsthash 変数を変更するために非常に多くのことを試みましたが、うまくいかないようです。
This is what the hashes should be: hello 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 (first round of sha-256) 9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50 (second round of sha-256)
私はまた、そのバイト ハッシュを取得し、16 進数でエンコードされた文字列を生成するのに非常に苦労しました (base64 ではなく、Google Script がすぐにサポートしているようです)。
誰か助けてくれませんか?
編集: Utitilies.computeDigest は文字列のみを入力として受け入れるため、使用できないようです。ただし、この JS sha256 関数を Google Script で実装できることを確認しました。最初のハッシュのバイト入力を使用して二重ハッシュを行うにはどうすればよいですか?