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


相关推荐

  • 文件包含漏洞

    0x00前言在我们文件上传的时候,如果是白名单通常会配合到文件包含和解析漏洞来getshell,那么这里先来说说文件包含。0x01 文件包含漏洞在php当中的文件包含的内容都会被当作php

    2021年12月11日
    41
  • 云计算基础之如何学习云计算?

    背景随着云计算的普及,越来越多IDC上的网站与应用开始在云上。那么同时对于我们这些IT从业者来说,也面临着加快学习云计算,不被新技术淘汰的挑战。2011年,云计算正式开始发展。今年是2018年了,是云计算发展的第7个年头了。虽然云计算的前景很好,但它的发展也更多地是在商业应用上,还没能达到学习交流分享的层次。云计算的学习路线、书籍、社区与成熟的嵌入式、互联网行业相比,是非常欠缺的!我们这次…

    2022年4月4日
    32
  • Centos7离线安装autoconf

    Centos7离线安装autoconf文章目录1.安装步骤1.1安装M41.2安装perl的依赖包perl-Data-Dumper1.3安装autoconf2.安装过程参考1.安装步骤1.1安装M4下载:http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz拷贝到centos系统上,并解压:tar-xzvfm4-1.4.13.tar.gz到解压目录中:cdm4-1.4.13#配置编译环境./configure–prefix=/usr/local#编

    2022年6月4日
    56
  • WireShark抓包分析

    WireShark抓包分析简述:本文介绍了抓包数据含义,有TCP报文、Http报文、DNS报文。如有错误,欢迎指正。1、TCP报文TCP:(TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于点对点的通讯)源IP地址:发送包的IP地址;目的IP地址:接收包的IP地址;源端口:源系统上的连接的端口;目的端口:目的系统上的连接的端口。T

    2022年6月12日
    29
  • 用html设计一个网站_html个人网页中文模板

    用html设计一个网站_html个人网页中文模板多的不说,直接上网页我个人自学的,样子不是恒好看,但是可以作为作业(老师也没怎么讲,毕竟是在大学里面嘛,大部分时间都是自学罢了)这是主页面index.html<htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><title>

    2022年10月13日
    0
  • ExecuteNonQuery()返回值问题[通俗易懂]

    ExecuteNonQuery()返回值问题[通俗易懂]1.使用update,insert,delete等对数据库中表行进行操作的时候,返回值为所操作的行数(若该条语句未作用在任何一行,则返回0)2.使用alter添加表空间数据文件,create创建表,drop删除表等操作时返回值为03.数据库连接字符串http://blog.csdn.net/cddchina/article/details/46046

    2022年9月12日
    0

发表回复

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

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