我想加密圖像,然後對其進行解密。是否有任何好的參考或教程或示例顯示如何將圖像轉換爲字符串,然後加密字符串?或者有其他方法來加密圖像?由於我是這個新手,而且我也去了搜索,但沒有任何簡單的例子讓我理解和遵循。將圖像(png)轉換爲字符串,然後對圖像進行加密
如果我沒有錯,我必須使用FileInputstream和ImageIO,但我不知道它是如何完全工作的。任何人都可以指導我?謝謝
我想加密圖像,然後對其進行解密。是否有任何好的參考或教程或示例顯示如何將圖像轉換爲字符串,然後加密字符串?或者有其他方法來加密圖像?由於我是這個新手,而且我也去了搜索,但沒有任何簡單的例子讓我理解和遵循。將圖像(png)轉換爲字符串,然後對圖像進行加密
如果我沒有錯,我必須使用FileInputstream和ImageIO,但我不知道它是如何完全工作的。任何人都可以指導我?謝謝
圖像是一個二進制文件,所以我認爲它不是很有意義轉換爲字符串進行加密的目的。這會增加相當多的開銷和複雜性,不會帶來額外的好處。
你應該直接加密二進制文件。
參見:
如果你的問題是「我如何在Java中執行加密」,再看看一些東西,我已經寫上Java cryptography,在partcular的有關symmetric key encryption的部分。從本質上講,你創造一些祕密密鑰,它可以只是使用SecureRandom的生成隨機字節的字符串:
byte[] key = new byte[16];
(new SecureRandom()).nextBytes(key);
然後你構造的Cipher對象,並用鑰匙初始化,然後通過它,你需要加密數據:
public byte[] encryptData(byte[] key, byte[] data) {
Cipher c = Cipher.getInstance("AES/CTR/PKCS5PADDING");
byte[] initialCounter = new byte[16];
c.init(Cipher.ENCRYPT_MODE,
new SecretKeySpec(key, "AES"),
new IvParameterSpec(initialCounter));
byte[] encryptedData = c.doFinal(plaintextData);
return encryptedData;
}
沒有什麼必然有關加密的image--它只是一堆喜歡在這一天結束別的字節很特別。
密碼學的主要問題在於,您需要了解各種細節以確保其安全。
這裏這個鏈接也可以幫助你很多:
NB你不會需要將其轉換爲String
更像是一個字節陣列 -
的圖像加密後,結果會怎樣?它是不是可以查看圖像?要麼..? – Twister