Android常用加密库集合

Android常用加密库集合QS,为了整合常用的各大加解密工具,把各大常用加密方式集合成一个工具库,目前包括:1RSA2AES33DES/DES4HMAC_SHA15国密SM2/SM3/SM46MD57DSA使用简例调用eg1(SM4对称加密):AbstractCodercipher=EncryptionManager.getCipher(EncryptionManager.Model….

大家好,又见面了,我是你们的朋友全栈君。

QS,为了整合常用的各大加解密工具,把各大常用加密方式集合成一个工具库,目前包括:
1 RSA
2 AES
3 3DES/DES
4 HMAC_SHA1
5 国密SM2/SM3/SM4
6 MD5
7 DSA


使用简例

调用eg1(SM4对称加密):

AbstractCoder cipher=EncryptionManager.getCipher(EncryptionManager.Model.SM4);
//调用简单加密方法
String cipherText = cipher.simpleEnCode(plainText,key);
//解密
plainText = cipher.simpleDeCode(cipherText,key);

调用eg2(DSA验签):

//密钥对生成种子
String seed="akjh93124kjasfwe23423sd323";
//生成密钥对
DSAKeyHelper.KeyPass keyPass=DSAKeyHelper.genKeyPair(seed);
//获取加密器
AbstractCoder abstractCoder=EncryptionManager.getCipher(EncryptionManager.Model.DSA);
//计算签名
String sign=abstractCoder.digestSignature(value,keyPass.getPrivateKeyHex());
//验证签名
boolean flag=abstractCoder.verifyWithDSA(value.getBytes(),sign,Utils.hexStringToBytes(keyPass.getPublicKeyHex()));

加解密入口在EncryptionManager类中,也可以单独使用其中某一个模块,如:

Sm2Kit sm2kit=new Sm2Kit()
String sign=sm2kit.digestSignature(value,keyPass.getPrivateKeyHex());

更多使用详见github项目地址:
github:https://github.com/lambertlei/UOpenCryption.git
欢迎大家fork,并优化和添加更多加解密工具将其更加完善。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145642.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Springboot连接mysql数据库中文乱码[通俗易懂]

    Springboot连接mysql数据库中文乱码[通俗易懂]第一步:查看springboot->Setting按照我的设置就行了。第二步配置文件中的url**?**后边的按照和我的一样serverTimezone=GMT%2B8&characterEncoding=utf-8第三步查看数据库编码,字段编码,右键数据库查看属性。查看数据库查看字段右键表,选择设计表查看。我的就是这样能插入中文。…

    2022年6月25日
    35
  • 修给linux用户密码报错Authentication token manipulation error

    修给linux用户密码报错Authentication token manipulation error修给linux用户密码报错Authentication token manipulation error

    2022年4月24日
    50
  • android之Activity.startManagingCursor方法详解

    在使用数据库操作查询数据后,如果是在Activity里面处理,那么很可能就会用到startManagingCursor()方法,在这里讲一下它的作用和使用注意事项.调用这个方法,就是将获得的Cursor对象交与Activity 来管理,这样Cursor对象的生命周期便能与当前的Activity自动同步,省去了自己管理Cursor。看下文档里的注释This method allows

    2022年3月10日
    41
  • Java 封装的详解

    Java 封装的详解我们日常使用的电脑主机 把 cpu 内存 主板等等都封装到机箱里面去 假如没有机箱的话的出现什么问题 主机 主板全部都散落在一处 然后开机没有开机按钮 那么需要我们直接操作接跳线才能把电脑开启 这样子的话假如操作不慎的话 会让机器损坏危险 那么假如用机箱封装起来的话 那么就不需要这样子做了 体现了封装的 安全特性 你拿电脑去加内存 可以直接给电脑给维修的人 等他加好内存了之后 你拿到的还是那

    2025年7月1日
    2
  • 最短路径 Dijkstra算法的Matlab代码实现「建议收藏」

    最短路径 Dijkstra算法的Matlab代码实现「建议收藏」%利用dijkstra算法计算两点间的最短路径%A:邻接矩阵%strat:起点编号%dest:终点编号%path:最短路径索引%distence:最短路径下的距离值function[dist,path]=dijkstra(A,start,dest)%测试数据A=[0,12,inf,inf,inf,16,14;12,0,10,inf,inf,7,inf;inf,10,0,3,5,6,inf;inf,inf,3,0,4,inf,inf;inf,inf,5,4,0,2,8;.

    2022年6月22日
    43
  • Pytest(6)重复运行用例pytest-repeat「建议收藏」

    Pytest(6)重复运行用例pytest-repeat「建议收藏」前言平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,

    2022年7月31日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号