Android自定義安全軟鍵盤

項目中要使用安全鍵盤,又囊中羞澀無法購買廠商的方案;

研究了一下,主要涉及到自定義鍵盤,輸入jni加密存儲,全程在java內存中不出現明文密碼,以及一些禁回寫,禁截屏的操作。

主要參考了https://blog.csdn.net/xiaoyi2412/article/details/89157025這篇文章。

但文章中給的項目年代相對久遠,并且加密方式md5也不滿足需求,所以自己重新創建了一個項目開始修改;

一.做了如下修改:

1.使用CMake進行jni的編譯;

2. 分離出aar工程,方便集成使用;

3.增加DES/ECB/PKCS7Padding的加密方式,理論上引入的算法庫可以支持的加密方式都可以做,只是目前項目中使用的是這種;

4.在加密庫選擇上,main分支選擇在c層使用jni回調java層的bouncycastle庫;openssl分支選擇在c層直接使用openssl的crypto加密庫進行加密;

5.刪除了一些無用的圖片資源

二.修改后發布的項目地址如下:

https://github.com/hyy12345678/SKeyboard

main分支在c層通過jni回調java層算法庫進行加密,理論上明文在jni回調時還是會出現在java內存中。

openssl分支在c++層使用openssl的加密庫算法,實現真正意義的在java內存中不出現密碼明文。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容