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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 卷积神经网络全过程

    卷积神经网络全过程作为计算机视觉中最重要的部分卷积神经网络,从输入到输出做一个全方面的梳理。卷积神经网络一般包含:卷积层池化层全连接层卷积层计算机视觉中为什么要使用卷积操作:假设我们输入的图像大小为64*64的RGB小图片,数据量就是64*64*3,计算得到数据量大小为12288。如果输入为1000*1000的RGB图片,那么数据量将是300万(3m表示300万),也就是我们要输入的特征向量xxx的维度高达300万。如果在第一隐藏层中有1000个神经单元,该层的权值矩阵为W

    2022年6月20日
    29
  • 遗传算法经典实例matlab代码_退火算法与遗传算法

    遗传算法经典实例matlab代码_退火算法与遗传算法经典遗传算法及简单实例(MATLAB)1.遗传算法简单介绍1.1理论基础1.2算法要点1.1编码1.2适应度函数1.3基本流程2.雪兔实例1.遗传算法简单介绍1.1理论基础整个算法的基础就是达尔文的生物进化论,“物竞天择,适者生存”这句话已经是常识了。雪兔的故事:东北那旮瘩,有群原始雪兔,刚从未知物种进化而来,五颜六色(表现型)漂亮极了,称之为I(0)。(注意:种群初始化)入夏了,雪兔们出来觅食,浅色兔在草地中无所遁形,被雪狐收割了一波(大批浅色+小批深色)。入冬了,雪

    2025年11月10日
    3
  • Python中的lambda的简单介绍[通俗易懂]

    Python中的lambda的简单介绍[通俗易懂]Python中的lambda的简单介绍1、lambda是什么?123456789func=lambda x:x+1print(func(1))#2print(fu

    2022年7月5日
    28
  • Java 随机数

    Java 随机数本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示。广义上讲,Java中的随机数的有三种产生方式:(01).通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。(02).通过Math.random()返回一个0到1之间的double值。(03).通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。…

    2022年7月26日
    5
  • spark面试题目_面试提问的问题及答案

    spark面试题目_面试提问的问题及答案一、简答题1.Sparkmaster使用zookeeper进行HA的,有哪些元数据保存在Zookeeper?答:spark通过这个参数spark.deploy.zookeeper.dir指定master元数据在zookeeper中保存的位置,包括Worker,Driver和Application以及Executors。standby节点要从zk中,获得元数据信息,恢复集群运行状态,才能对外…

    2025年6月24日
    4
  • navicat激活码 最新[在线序列号]

    navicat激活码 最新[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    72

发表回复

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

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