我有一個用於從abcde.test.com取消註冊的加密電子郵件ID。AES -256解密
這被加密AES-256.where EID = 「加密後的消息」,並且當與密鑰大小組合除掉,和keystr(如 「6a6b663472346c38736873346569727538346234333534376635333962353666」)形成的編碼密鑰。
現在我想解密這個消息。 任何人都可以幫我解密嗎?
我有一個用於從abcde.test.com取消註冊的加密電子郵件ID。AES -256解密
這被加密AES-256.where EID = 「加密後的消息」,並且當與密鑰大小組合除掉,和keystr(如 「6a6b663472346c38736873346569727538346234333534376635333962353666」)形成的編碼密鑰。
現在我想解密這個消息。 任何人都可以幫我解密嗎?
請使用Java SE和Apache Commons嘗試以下操作。請注意,您尚未指定密碼的模式或填充(僅「AES」),因此您可能需要進行一些調整。
// decode the key string into bytes (using Apache Commons)
byte[] keyBytes = Hex.decodeHex(keystr.toCharArray());
// create a representation of the key
SecretKeySpec spec = new SecretKeySpec(keyBytes, "AES");
// turn the key spec into a usable key
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("AES");
SecretKey key = keyFactory.generateSecret(spec);
// use a cipher to decrypt the eid
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] plainText = cipher.doFinal(hex.decodeHex(eid.toCharArray())); // decode from Hex again
我不知道eid
代表什麼類型的,所以將是進入一些具體的是你的,但這裏有一個例子:
String eid = new String(plainText, "ASCII");
感謝大衛..你能把我的整個代碼,這將真正幫助很多 –
這是整個代碼。你的意思是從查詢字符串中提取它嗎? –
嘿大衛..以下錯誤我得到1> Hex.decode(keyStr);錯誤類型不匹配:無法從Object轉換爲byte []和2> byte [] plainText = cipher.doFinal(Hex.decode(eid));錯誤 - 類型Cipher中的方法doFinal(byte [])不適用於參數(Object)我應該怎麼做? –
你爲什麼要使用加密呢?這個URL是從哪裏生成的 - 觸發它的是什麼? –