2013-05-07 103 views

回答

6

根據Java Cipher API

Every implementation of the Java platform is required to support the following standard Cipher transformations with the keysizes in parentheses: 


    AES/CBC/NoPadding (128) 
    AES/CBC/PKCS5Padding (128) 
    AES/ECB/NoPadding (128) 
    AES/ECB/PKCS5Padding (128) 
    DES/CBC/NoPadding (56) 
    DES/CBC/PKCS5Padding (56) 
    DES/ECB/NoPadding (56) 
    DES/ECB/PKCS5Padding (56) 
    DESede/CBC/NoPadding (168) 
    DESede/CBC/PKCS5Padding (168) 
    DESede/ECB/NoPadding (168) 
    DESede/ECB/PKCS5Padding (168) 
    RSA/ECB/PKCS1Padding (1024, 2048) 
    RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024, 2048) 
    RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024, 2048) 

因此,它應該支持PKCS5Padding

+0

坦的響應,但是能否請你說的是AES和DES和DESede的尊重,其實我想發送加密數據到支持標準DES算法的設備,我不知道我應該使用哪種模式,它與標準算法實現(CBC模式) – Areff 2013-05-07 10:33:34

+1

關於使用哪種算法,常規DES只有56位密鑰,所以應該使用DESede(3DES)。 AES是一個不同的算法,如果你的設備不支持你不應該使用它:)關於模式,由於ECB不安全,CBC模式是通過ECB執行的。關於不同模式的很好的描述可以在[Wiki頁面]找到(http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation) – 2013-05-07 10:57:17