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

工作中接触到了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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我来一一为您说明。 1. 3DES加解密:3DES是一种对称加密算法,使用相同的密钥进行加密和解密。它的密钥长度为168位,由于密钥长度较长,所以加密强度较高。例如,可以使用Oracle的DBMS_CRYPTO包中的3DES算法对数据进行加解密。 2. AES加解密AES是一种对称加密算法,它的密钥长度可以为128、192或256位。在Oracle中,可以使用DBMS_CRYPTO包中的AES算法对数据进行加解密。例如,以下代码使用128位密钥对数据进行加密: ```sql SELECT DBMS_CRYPTO.ENCRYPT('DATA_TO_ENCRYPT', DBMS_CRYPTO.ALG_AES128, 'ENCRYPTION_KEY') FROM DUAL; ``` 3. RSA2048加解密RSA是一种非对称加密算法,需要使用公钥和私钥,公钥用于加密,私钥用于解密RSA2048指的是RSA算法中使用2048位密钥长度。在Oracle中,可以使用DBMS_CRYPTO包中的RSA算法对数据进行加解密。 4. LM/NTLM加解密:LM和NTLM都是一种Windows操作系统中使用的加密算法,用于存储用户账号和密码。在Oracle中,可以使用DBMS_CRYPTO包中的LMHASH和NTHASH算法对数据进行加解密。 5. SM加解密:SM是一种对称加密算法,它是中国商用密码算法,也称为SMS4算法。在Oracle中,可以使用DBMS_CRYPTO包中的SM4算法对数据进行加解密。例如,以下代码使用SM4算法对数据进行加密: ```sql SELECT DBMS_CRYPTO.ENCRYPT('DATA_TO_ENCRYPT', DBMS_CRYPTO.ALG_SM4_CBC, 'ENCRYPTION_KEY') FROM DUAL; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晒干的老咸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值