工作中接触到了SM4,AES,RSA等算法的加解密,这里整理下来,以备后续其他地方需要使用到。

主要用到的第三方包为hutool

后台引入依赖的方式为:

<!-- hutool工具包 -->
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId>
</dependency>
<!-- 加解密 -->
<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.68</version>
</dependency>

Android端引入依赖的方式为:

//bre-tlv
implementation 'com.payneteasy:ber-tlv:1.0-11'//hutool
implementation 'cn.hutool:hutool-all:5.7.20'//加解密
implementation 'org.bouncycastle:bcprov-jdk15on:1.68'

Aes加解密的方法整理如下

package com.unionpay.iottrust.authentication.utils;import org.bouncycastle.pqc.math.linearalgebra.ByteUtils;import java.security.Key;
import java.security.NoSuchAlgorithmException;
impor

SM4、AES,RSA,DES等加解密,以及一些其他常用工具方法整理相关推荐

  1. AES实现后端参数加解密

    AES实现后端参数加解密 前言 介绍 Start 引入依赖 编写AES加解密工具类 自定义注解 编写请求数据解密 ControllerAdvice 编写返回数据加密 ControllerAdvice ...

  2. AES和RSA前后端加解密

    先了解AES和RSA加密算法 AES算法 1.运算速度快,在有反馈模式.无反馈模式的软硬件中,Rijndael都表现出非常好的性能. 2.对内存的需求非常低,适合于受限环境. 3.Rijndael 是 ...

  3. 对称加密----AES和DES加密、解密

    目前主流的加密方式有:(对称加密)AES.DES        (非对称加密)RSA.DSA 调用AES/DES加密算法包最精要的就是下面两句话: Cipher cipher = Cipher.get ...

  4. DES方式加解密的简单介绍

    其实本来想好好研究下DES.AES.MD5等这些加解密方式的,于是就最先研究了比较早使用的DES,去看了相关文档后发现,我去这变换也太多了吧,这这这,真要细细研究下来,那不得花很长的时间,于是准备先放 ...

  5. rsa java ao_RSA加解密工具类

    Java 实现 import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairG ...

  6. Java 实现 RSA 非对称加密算法-加解密和签名验签

    1. 非对称加密算法简介 非对称加密算法又称现代加密算法,是计算机通信安全的基石,保证了加密数据不会被破解.与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(pr ...

  7. 如何使用RSA 对数据加解密和签名验签?一篇文章带你搞定

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 三分割据纡筹策,万古云霄一羽毛. ...

  8. JavaScript使用RSA进行超长文本加解密

    JavaScript-RSA加解密 RSA加密库 RSA前端加解密.是通过用jsencrypt.min.js来实现的,此js文件实现了对超长文本字段加密功能.写这个文件的大师很牛!膜拜一下�� RSA ...

  9. php RSA公钥私钥加解密和验证用法

    现在很多项目中会使用到rsa加解密和验证相关的技术,分别整理代码如下,方便记忆和使用. [签名和验证] 1 //获得签名 2 function getSign($data) { 3 $pem = 'm ...

最新文章

  1. jstack和线程dump分析
  2. yii2 windows 安装
  3. web.py mysql_用Web.py 连接 MySQL 的时候怎么样连接远程数据库
  4. [转载自简书] ASPNetCore上传大文件碰到的一些问题总结
  5. LeetCode_链表类
  6. 从生物神经网络到人工神经网络
  7. 前端学习(2122):项目演示
  8. Codeforces Round #437 (Div. 2, based on MemSQL Start[c]UP 3.0 - Round 2)
  9. linux mysql 磁盘_Linux运维知识之为Linux MySQL数据库设置磁盘限额
  10. 通用mapper版+SpringBoot+MyBatis框架+mysql数据库的整合
  11. Sampleson Reed106 Mac - Sampleson系列插件中一款出色的电钢琴模拟插件
  12. php怎么阻止页面跳转,php如何控制页面跳转
  13. 5000+ 字解读 | 产品经理:如何做好元器件选型?
  14. Linux系统下在windows虚拟机中使用数位板的问题及解决办法
  15. 80004005错误代码_80004005错误代码怎么回事_安装软件错误代码0×80004005如何解决...
  16. linux下nginx配置访问静态图片的解决办法
  17. CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录
  18. Unity之EditorUtility-ProgressBar进度条-一
  19. 机器学习之决策树实践:隐形眼镜类型预测
  20. jetson nano-mavros-px4

热门文章

  1. Android12 应用启动流程分析
  2. Java编程基础30——SE经典案例
  3. ORACLE中一个字符占多少字节?
  4. SPI总线传输的模式
  5. sklearn Logistic
  6. 设置计算机的电源计划,win10系统设置电源管理计划的处理技巧
  7. chomd 更改“***”的权限: 不允许的操作
  8. 学习使用Bootstrap弹出框Popover提示框样式
  9. html5制作天气动画背景,CSS icon图标之纯CSS实现带动画效果的天气图标
  10. 布考斯基样样干_有哪些你看过一眼就能背下来的宝藏句子?