在java中有一個類 - 'Key Generator' - 這個類提供了祕密(對稱)密鑰生成器的功能。
你基本上需要使用這個類爲祕密密鑰生成,在一個方式如下:
SecretKey aesKey = KeyGenerator.getInstance("AES").generateKey();
這將產生與它作爲參數傳遞的算法默認長度的密鑰,在這個例子中將生成128位的密鑰(默認爲AES)。
或使用以下功能:
public static SecretKey generateSecretKey()
{
KeyGenerator keyGener = KeyGenerator.getInstance("AES");
keyGener.init(256) // here you can pass any valid length
return keyGener.generateKey();
}
您可以將這些生成的密鑰轉換爲字符數組,字節數組或字符串,然後可將它們存儲與任何數據庫,使用下列內容:
char[] key = encodeHex(aesKey.getEncoded());
或
byte[] key = aesKey.getEncoded();
更多細節請參閱KeyGenerator類: http://docs.oracle.com/javase/7/docs/api/javax/crypto/KeyGenerator.html
樂意幫忙。
感謝,ANKIT
你需要使用'blob'用於存儲對象和對象必須在數據庫存儲之前被序列化。看到這個更多的信息。 http://stackoverflow.com/questions/2747203/want-to-store-object-in-mysql-database – Ali786 2014-10-30 08:45:07
什麼將數據類型的祕密密鑰 – 2014-10-30 08:53:30
使用字符串對象來存儲密鑰。 – Ali786 2014-10-30 08:58:42