如何解密PostgreSQL中md5方法加密的代码。
例如:md5("logesh")
返回'82e05c4839aba7c637881489bec50dd1'
如何解密此代码。
答案 0 :(得分:7)
你做不到。 MD5不加密。这是一个one-way cryptographic hash function。 With enough compute power and/or storage you can brute force md5找出明文可能是什么,但它只是该哈希的一个可能的明文。 设计既慢又难以反转,不可能以1:1反转。 There are known MD5 collisions
PostgreSQL在if ( rs.next() ) {
if ( rs.getString("AUD_PRCS_STAGE_CD").equals("CONT") ) {
Blob blob = rs.getBlob("AUD_TRAIL_MSG_TX");
byte[] bytes = blob.getBytes(1, (int)blob.length());
File someFile = new File("d://Output_File.pdf");
FileOutputStream fos = new FileOutputStream(someFile);
fos.write(bytes);
fos.flush();
fos.close();
}
}
中使用“加密”有点不正确,应该是WITH ENCRYPTED PASSWORD
。但现在改变它太晚了。
如果您希望加密查看提供AES-128例程的pgcrypto等,或者您的加密和解密客户端,日志中的密钥暴露,WITH HASHED PASSWORD
等不是一个问题