常用的加密算法
迪丽瓦拉
2025-05-29 05:01:02
0

一、对称加密

所谓的对称加密就是加密跟解密使用同一把密钥

常见的对称加密算法有AES,DES等等,下面以DES加密算法为例

Java语言实现DES加密:

Java语言实现DES解密:

对于不同的对称加密算法,密钥的位数是不同的。对于DES加密算法,规定了密钥(key)必须是8个字节,对于AES加密算法,规定了密钥(key)必须16个字节。上述使用的是DES加密算法,所以密钥(key)是“12345678”也就是8个字节。如果不按照规定,那么会报如下错误。

二、非对称加密

所谓的非对称加密就是用公钥加密就必须用私钥解密,用私钥加密就必须用公钥解密

常见的对称加密算法有RSA, DSA,ECC等等,下面以RAS加密算法为例

Java语言实现RSA加密:

Java语言实现RSA解密:

三、可读性算法(Base64)

为什么引入Base64

ascii码只有表示正数的符号

但一个byte为负数时,转为String打印出来时在ascii码中没法找到,那么就会打印乱码

乱码可读性差,所以Base64也就应运而生

什么是Base64

Base64不是加密算法,是可读性算法。

Base64目的不是保护我们的数据,目的是为了增强可读性

Base64是由64个字符(大写A-Z, 小写a-z, 数字0-9, 两个符号+和/)

base64 按照把数据按照3个字节为一组,一个字节是8位, 一共就是24位, 把这24位, 拆成6位(6位高位补0 刚好就是表示0-63)一组, 分4组。如果不够三个字节,Base64就会自动补充到三个字节。补充多少个字节,编码后就在后面加多几个=

比如,此时1为一个字节,得Base64自动补充两个字节到三个字节,因为补充了两个字节,所以编码后在后面加了两个=号

比如,此时12为两个字节,得Base64自动补充一个字节到三个字节,因为补充了一个字节,所以编码后在后面加了一个=号

比如,此时12为三个字节,得Base64无需自动补充,所以编码后在后面就没有=号

Java语言实现Base64编码解码

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...