2012-07-10 75 views
0
Cipher cipher = Cipher.getInstance("AES"); 

這是使用哪個版本的AES?

Key key = new SecretKeySpec(keyValue, "AES"); 

該使用哪個版本的AES的是,我怎麼可以指定128/256位?

編輯:'keyValue是一個字符串.getBytes(),我敢肯定,這決定了128/256位,所以我的'keyValue'要多長時間才能使它256位加密?

EDIT2:更多細節:

final String key = "TrIlGnUmAkUkQkPe"; 
    final byte[] keyValue = key.getBytes(); 
+0

'getAlgorithm()'它說什麼? – nullpotent 2012-07-10 18:13:10

+0

它說AES(這個文本只是滿足最小注釋長度) – Primm 2012-07-10 18:15:26

回答

3

This document說,它的128可以從Java doc在夫婦開始在Java Cryptography Architecture Reference Guide鏈接導航。

+0

謝謝,我該如何使這個使用256位? – Primm 2012-07-10 18:21:13

+0

@ user1332495這裏有2個有用的鏈接:[這裏](http://stackoverflow.com/questions/992019/java-256-bit-aes-password-based-encryption)和[this](http:// java。 sun.com/developer/technicalArticles/Security/AES/AES_v1.html) – 2012-07-10 18:23:13

+0

@ user1332495我是多麼的愚蠢!沒有安裝[Java密碼擴展(JCE)無限強度管轄權策略文件](http://www.ngs.ac.uk/tools/jcepolicyfiles) – 2012-07-10 18:27:11