Conceal - 用于Android上的文件加密和鉴权的Java API
jopen
11年前
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();