瀏覽單個文章
公不
*停權中*
 

加入日期: Dec 2010
文章: 341
引用:
作者crisliu2004
你可能要先搞懂

AES_Init();裡面做了什麼事

AES_ExpandKey(key);對傳進去的key做了什麼修改
AES_Encrypt(block, key);這裡用的encrypt法是哪種方法把key跟block結合

AES_Done();這又是幹什麼的? 通常block與key結合後應該就做完了

研究了2天

裡面還沒全懂

但是知道

AES_Init() ----->預先準備好要加密用的一些物件

AES_ExpandKey(key); 展開金鑰 用於加密時不要有重複 (但是前輩因為公司spec的需要 將此部份移除 )


AES_Encrypt(block, key);<----目前卡在 需要對block作額外的處理.填充額外的字元

AES_Done();整個加密完成.移除物件

昨天問的javascript

其實也是這個 '公司spec特殊'版的AES的需求

同樣用於塞入填充字元

因為改寫成java才知道用途

謝謝

還請提示該如何直接修正SimpleCrypto於

代碼:
private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception {
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/ZeroBytePadding");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] encrypted = cipher.doFinal(clear);
return encrypted;
}

部分

對於傳入的raw做部分的填充


謝謝
舊 2014-06-18, 10:22 PM #8
回應時引用此文章
公不離線中