実現したいこと
crc32のJavaの処理をJavaScriptで表現したいと考えております。
## Java var CRC32 = Java.type("java.util.zip.CRC32"); var crc32 = new CRC32(); crc32.update("あいうえお") Number(crc32.getValue()) ## output 3523407757
試したこと
上記のようなアウトプットを取得するために、JavaScript で下記サイトの実装を参考に実行してみたのですが、値が一致しませんでした。
## JavaScripts var makeCRCTable = function(){ var c; var crcTable = []; for(var n =0; n < 256; n++){ c = n; for(var k =0; k < 8; k++){ c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1)); } crcTable[n] = c; } return crcTable; } var crc32 = function(str) { if (str === null) { return null; } var crcTable = makeCRCTable(); var crc = 0 ^ (-1); for (var i = 0; i < str.length; i++ ) { crc = (crc >>> 8) ^ crcTable[(crc ^ str.charCodeAt(i)) & 0xFF]; } return (crc ^ (-1)) >>> 0; }; return crc32(data); ## 引数に"あいうえお" を与えたoutput 718909359
困っていること
JavaScriptsでcrc32の値の実装をしたものがJava上のものと一致するものかと思っておりましたが、値が異なっており、どのように実装したらよいか悩んでおります。
大変恐縮ではございますが、お知恵を拝借できましたら幸いです。
何卒よろしくお願い申し上げます。
回答4件
あなたの回答
tips
プレビュー