世界观速讯丨带你详细了解AES算法《附带java、vue实现》
日期:2023-03-11 15:12:10 来源:腾讯云
【资料图】
不论前途如何,不管发生什么事情,我们都不失去希望,希望是一种美德。——《雨果传》
1.加密算法
在密码学中,加密算法分为单向加密和双向加密。单向加密包括MD5、SHA等摘要算法,它们是不可逆的。双向加密包括对称加密和非对称加密。双向加密是可逆的,存在密文的密钥。对称加密是指加密和解密使用相同的密钥,包括AES加密、DES加密等。非对称加密是指加密和解密使用不同的密钥,包括RSA加密等。2.AES介绍
是用来替代DES的新一代分组加密算法。AES支持三种长度的密钥:128位、192位、256位。AES:高级加密标准(Advanced Encryption Standard)是美国联邦政府采用的一种区块加密标准,是目前最流行的一种
对称加密算法。
3.AES的加密过程(AES处理单位:字节)
AES的加解密过程和DES一样,都是通过分组加密、分组解密。所谓分组加密,就是将待加解密的内容按照128位进行分组,将密钥按照128位、192位、256位进行分组,分别将分组后的明文与相应分组后的密钥进行加解密。
加密: 明文与密钥分组后,对每组:明文组与密钥组处理 -> 轮密钥加 -> 10轮加密 -> 密文组 解密: 对每组:密文组 -> 轮密钥加 -> 10轮解密 -> 明文组
明文分组: 每组长度相等,都是128位(16字节); 密钥分组: 有128位、192位、256位,推荐加密轮数分别为 10、12、14
密钥组处理: 以密钥分组每组128位为例(则推荐加密轮数为10,前9次执行操作一样,第十次有所不同) 类似地,128位密钥也是用字节为单位的矩阵表示,通过密钥编排函数,形成具有44个元素的序列W[0],W[1], … ,W[43](每个元素4个字节);其中,W[0],W[1],W[2],W[3]为原始密钥,其余40个元素分为10组,每组4个元素(4*4=16字节),分别用于10轮加密。
AES加密算法涉及4种操作: 字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。下图给出了AES加解密的流程:
4.代码实现
1.生成密钥
public static String genAesSecret(){ try { KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); //密钥长度,单位:字节,AES支持128、192、256字节长度的密钥,上面文章已介绍 keyGenerator.init(128); SecretKey sk = keyGenerator.generateKey(); byte[] b = sk.getEncoded(); return Base64.encodeBase64String(b); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); throw new RuntimeException("没有此算法"); } }2.AES加密
public static String aesEncrypt(String content) throws Exception { //指定加密算法 Cipher cipher = Cipher.getInstance("AES"); //创建加密规则:指定key和加密类型 SecretKeySpec secretKeySpec = new SecretKeySpec(SECRET.getBytes(), "AES"); //指定加密模式为加密,指定加密规则 cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec); //调用加密方法 byte[] result = cipher.doFinal(content.getBytes()); //用Base64编码 return new String(java.util.Base64.getEncoder().encode(result)); }3.AES解密
public static String aesDecrypt(String content) throws Exception { //Base64解码 byte[] result = java.util.Base64.getDecoder().decode(content); //指定加密算法 Cipher cipher = Cipher.getInstance("AES"); //创建加密规则:指定key和加密类型 SecretKeySpec secretKeySpec = new SecretKeySpec(SECRET.getBytes(), "AES"); //指定加密模式为解密,指定加密规则 cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); return new String(cipher.doFinal(result)); }注意:SECRET.getBytes()我这里是一个常量密钥,通过密钥生成后写成常量SECRET。
4.前端解密
安装依赖
npm install crypto-js --save-dev// 引入import CryptoJS from "crypto-js"// 密钥const AES_KEY = "P@S5W0rDK3yBACHU" // 后端提供// 解密export function decrypt (word) { var key = CryptoJS.enc.Utf8.parse(AES_KEY) var decrypt = CryptoJS.AES.decrypt(word, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }) return CryptoJS.enc.Utf8.stringify(decrypt).toString()}5.Java测试用例
标签:
推荐
- 世界观速讯丨带你详细了解AES算法《附带java、vue实现》
- 为什么有的人招蚊子咬有的人不咬_为什么有的人招蚊子 焦点资讯
- 三天两夜旅游推荐张家界_三天两夜旅游推荐 环球时讯
- 环球热资讯!他们说的话有没有兑现是什么歌(他们说的话有没有兑现什么歌)
- 曾宝玲
- 女性寒气重怎么调理_寒气重怎么调理
- 股票行情快报:科锐国际(300662)3月10日主力资金净卖出17.70万元-焦点信息
- 七年级下册语文古诗13首听力部分_七年级下册语文古诗13首有哪些
- airpods pro盒子丢了怎么定位 天天热讯
- 【天天新要闻】(风花节番外)千风诗 百花歌
- 心理学师范类就业前景如何_心理学师范类就业前景|速看
- 13只晨星奖入围基金,哪些值得买?
- 老默来了!官方:山东外援麦克莱默正式完成注册|世界今日讯
- 温州科技馆面向全市招聘编外工作人员公告_全球今日报
- 南宁卷烟厂
- 闪电购如何快速抢_小米闪购怎么抢 天天观天下
- 如何成为空军飞行员?招飞选拔流程来了
- 龙洞堡机场在贵阳哪个区_龙洞堡
- 藏粮于地藏粮于技出自哪里_藏粮于地藏粮于技是什么意思_即时看
- 天天新消息丨50元/瓶的“玻尿酸啤酒”来了客服:可美容保湿
- 热点评!ppt什么意思_ppt65
- 子曰饭疏食饮水曲肱而枕之的整是什么意思 报资讯
- 环球速读:长沙公积金放款后转移到异地还贷有影响吗?
- 外交部:敦促美英澳三国摒弃冷战思维 多做有利于地区和平稳定的事情 世界播资讯
- 你打算买房吗?市民:不是非得买 具体详细内容是什么 世界今头条
- 世界观点:ultraiso虚拟光驱怎么用_虚拟光驱怎么用
- 当前快讯:亚信科技涨近5% 2022年全年收入同比增长12.2%
- 微生物学与免疫学 案例版 世界简讯
- 厦门大学排名第一_厦门的大学排名_全球速读
- 威利-格林:球队对锡安在常规赛结束前回归赛场感到乐观
- 验资证明和验资报告(验资证明)_当前时讯
- 易有太极是生两仪后两句是_太极生两仪完整句子
- qq空间如何发视频_qq空间中进行发视频的操作教程 世界新要闻
- 旺旺雪饼是什么梗 全球快讯
- 热议:p4000相当于什么显卡(p4000相当于什么显卡)
- 聚焦两会|哈工大校长:2022年黑龙江引进高层次人才数量是前6年总和的4.4倍|环球今热点
- 焦点快播:水户洋平
- 玩图夜拍模式要怎么使用 全球快播报
- 2020年属羊的全年运势
- 3月8日河南地区氟化铝行情暂稳_环球微资讯
- 国家税务总局:今年前十个月个体工商户享受减税降费3285亿元
- 福田中学
- “理想”虽好,但要有“蔚来”
- 税务行政复议-天天动态
- 什么是离散型随机变量_离散型随机变量指的是什么
- 亚信科技:2022年年净利润增至约8.24亿元,拟派发股息每股0.401港元
- 六月用英语怎么说缩写_六月用英语怎么说
- 世界聚焦:3月7日纯碱价格行情
- 天天快看:汇丰总行大厦在哪里
- 全球微动态丨择木而栖
- 突发!“百年老字号”董事长辞职,年薪超千万 当前快播
- 珠海女子中学公办班学费多少-世界快看
- 全球快资讯:买房子怎么找房源?买新房子要注意哪些问题?
- 六中珠江 环球报道
- 全球最新:曝曼联惨败之战卡塞米罗还受伤,低迷或因伤势影响!恐缺席欧联杯
- 全球热消息:全面注册制加快落实落地
- 野苜蓿
- 她出道10年,仅查出9万元财产,打了谁的脸?
- 当前要闻:独立保函
- 盱眙县路灯管理所及时回应群众诉求
- 速读:西北工业大学MBA学费是多少
- 环球观天下!怎样知道女生暗恋我_怎么知道女生暗恋你
- 偏正短语举例15个_偏正-全球即时看
- 环球快资讯:jayesslee 天天向上
- 杭州元明智能科技有限公司_关于杭州元明智能科技有限公司简述
- 村田
- 歌唱家戴玉强:40岁成名,与初恋结婚29年,为母亲办葬礼却满脸笑容-速读
- 新款法拉利SF90 Stradale在南非要花多少钱 最新资讯
- 金莎在王的女人扮演什么角色
- 全球热议:未来三天西南地区多阴雨 北方地区多弱冷空气活动
- 报道:毕业生登记表个人小结
- 皮肤发黄的女人,春季别老穿黑色!这3种“白美色”,显得人年轻|天天播资讯
- 巴菲特的投资理念是什么 天天快播
- 什么方法背东西比较快_背东西最快的方法
- 汉责怎么拍的_汉责文化真实打板子视频
- 25kw用多大的电线_55kw的电动机要用多大的电缆
- 世界即时:花园转债|新债分析
- 孙策的老婆介绍_全球球精选
- 2023姑苏区重点产业紧缺人才计划补贴申请指南(时间+入口+流程)
- 一竖怎么打出来_一竖怎么打
- 焦点!excel怎么求差值的绝对值_excel怎么求差值
- 圆脸适合什么眼镜框
- 一别两宽是什么意思
- 我国疾控系统加快提升科研创新能力建设-焦点短讯
- 抓基层、打基础 浉河公安召开社区警务工作会议_天天通讯
- 【天天报资讯】韩国熊猫爷爷用中文介绍福宝一家详细内容
- 上海最低工资是多少2021_全球热闻
- 临沂玩具批发市场在哪里_临沂玩具批发市场
- WTA蒙特雷站:朱琳闯入女单四强_世界新动态
- 鸟瞰是什么意思解释_鸟瞰是什么意思
- 中国银河:给予纽威数控买入评级 今日关注
- 【新要闻】心疼二爷!皮蓬前妻:男友小乔丹带我见过家长 乔丹支持我们谈恋爱
- 英超-范迪克破僵萨拉赫破门 利物浦2-0狼队升至第6_全球聚焦
- 每日焦点!2011国家临床执业医师资格考试全真模拟题集
- 全球信息:安徽华亿集团
- 今日辟谣(2023年3月1日) 天天时快讯
- 全球今亮点!美人尖是什么脸型_美人尖是什么
- 天天热资讯!ai怎么渐变_ai怎么渐变透明
- 视点!花溪区政府与贵州大学马铃教学科研基地土地交接仪式举行
- 焦点快播:AKB48+10!
X 关闭
行业规章
X 关闭
