import java.security.*
makeDigest = {String msg, int loops = 1, long t1 = (new Date()).getTime(), double q1 = Math.random() ->
MessageDigest md = MessageDigest.getInstance("SHA")
(Math.abs(loops) ?: 1).times {
byte[] randm = {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream()
DataOutputStream dataOut = new DataOutputStream(byteOut)
dataOut.writeLong(t1)
dataOut.writeDouble(q1)
return byteOut.toByteArray()
}()
md.update(randm)
md.update(msg.getBytes())
}
return md.digest()
}
String user = "admin"
String password = "s3cr3t"
int loops = 1
byte[] hash1 = makeDigest(user+password, loops, 0, 0) // not randomized
byte[] hash2 = makeDigest(user+password) // randomized
assert hash1 != hash2
println "$hash1\n$hash2"
Thursday, January 26, 2012
Simple SHA Digest/Hash
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment