Conceal - 用于Android上的文件加密和鑒權的Java API

jopen 10年前發布 | 34K 次閱讀 Conceal Android開發 移動開發

Conceal是一套用于Android上的文件加密和鑒權的Java API,Conceal的加密算法基于OpenSSL,但是在arm7下的OpenSSL庫大小有1MB,我們縮減了OpenSLL庫的內容,經過編譯現在他只有85KB。一個更小的庫,有益于兼容更多的android版本,以及減少后期的維護成本。

Conceal比目前的任何一個java加密庫都輕巧快捷,同時它使用AES-GCM算法,來防止對數據進行的惡意篡改。

這個庫還提供了存儲和管理秘鑰的資源來提高android脆弱的隨機數生成器的安全性。目前正式支持,2.3以及更高版本。不過也可以在2.2版本運行。

Conceal可以用來加密大型文件,非死book用它來加密手機/平板電腦SD卡中的數據和圖片。


以下代碼片段展現了如何使用Conceal對文件進行加密:
//使用秘鑰鏈和原生庫的默認實現,來創建一個新的加密對象
Crypto crypto = new Crypto(
  new SharedPrefsBackedKeyChain(context),
  new SystemNativeCryptoLibrary());

//檢查加密功能是否可用
//如果Android沒有正確載入庫,則此步驟可能失敗
if (!crypto.isAvailable()) {
  return;
}

OutputStream fileStream = new BufferedOutputStream(
  new FileOutputStream(file));

//創建輸出流,當數據寫入流的時候進行加密,并將加密后的數據輸出到文件
OutputStream outputStream = crypto.getCipherOutputStream(
  fileStream,
  entity);

//將純文本寫入其中
outputStream.write(plainText);
outputStream.close();

項目主頁:http://www.baiduhome.net/lib/view/home/1394779937806

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!