MessageDigest
こんな記事を読んでみた → MD4/MD5 コリジョンの実証コードが公開 | スラド
MD5はアレだそうで, んじゃ 'SHA-256'かなってことでソレ用のを公開。
元々このプログラムは 'MD5'用に作ったんだけど, だから元に戻すのも簡単。一か所直すだけだお。
/* MessageDigest */ importPackage(java.lang, java.security, java.io) var newArray = java.lang.reflect.Array.newInstance function digest(file) { var md = MessageDigest.getInstance('SHA-256') var ba = newArray(Byte.TYPE, file.length()) var ins = new DigestInputStream(new FileInputStream(file), md) try { ins.read(ba) } finally { if (ins) ins.close(), ins = null } return md.digest() } function toHex(ba) { var res = '' for (var i = 0; i < ba.length; i++) { var n = ba[i] &0xff if (n < 0x10) res += '0' res += n.toString(16) //+' ' } return res } if (arguments.length == 0) quit() for (var cnt = 0; cnt < arguments.length; cnt++) { var file = new File(arguments[cnt]) if (file.exists()) print(file+':\t', toHex(digest(file))) }