您现在的位置: 首页 资讯 > > 正文
带你详细了解AES算法《附带java、vue实现》
发布时间:2023-03-12 14:09:49 来源:腾讯云


(资料图)

不论前途如何,不管发生什么事情,我们都不失去希望,希望是一种美德。——《雨果传》

1.加密算法

在密码学中,加密算法分为单向加密和双向加密。单向加密包括MD5SHA等摘要算法,它们是不可逆的。双向加密包括对称加密和非对称加密。双向加密是可逆的,存在密文的密钥。对称加密是指加密和解密使用相同的密钥,包括AES加密、DES加密等。非对称加密是指加密和解密使用不同的密钥,包括RSA加密等。

2.AES介绍

AES:高级加密标准(Advanced Encryption Standard)是美国联邦政府采用的一种区块加密标准,是目前最流行的一种对称加密算法

是用来替代DES的新一代分组加密算法。AES支持三种长度的密钥:128位、192位、256位。

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加解密的流程:

AddRoundKey (轮密钥加)— 矩阵中的每一个字节都与该次轮密钥(round key)做XOR运算;每个子密钥由密钥生成方案产生。SubBytes(字节替代) — 通过非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。ShiftRows(行移位) — 将矩阵中的每个横列进行循环式移位。MixColumns (列混淆)— 为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每列的四个字节。

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测试用例

标签:

新兴食品现身市场 “植物肉”产品能否“俘获”消费者的胃?

最近一段时间,部分超市和电商平台售卖的植物肉纷纷推出促销优惠活动,销量看涨。不过也有消费者表示,...

绍兴招才引智云对话活动举行 诚邀天下英才“会盟”绍兴

懂人才是大学问,聚人才是大本事,用人才是大智慧。近年来,绍兴市大力实施人才强市战略,持续深化人才...

江苏省自然资源厅出台指导意见 推进老旧小区改造工作

省自然资源厅近日出台《关于大力推进城镇老旧小区改造工作的指导意见》,针对城镇老旧小区改造中规划和...

2021年中国心血管健康指数排名:江苏位列前五

进行了排名,江苏位列前五。北京、上海、江苏等地居民心血管更健康这项发表在《中国疾病预防控制中心周...

科研人员揭示5种豆科植物的核型数据及亲缘关系

近日,四川农业大学林学院副教授罗小梅团队在遗传学领域期刊《基因》(Genes),在线发表了题为《基于5S ...

“烟火气”十足的“江苏味道” 河西CBD顶流商圈开街迎客

开街啦!5月18日上午,在河西CBD金融城融媒路上,2022江苏省新能源汽车&信息消费创新产品推广系列活动启...

首个锌金属的伴侣蛋白诞生 有助于解决缺锌公共卫生问题

据17日发表在《细胞》与《细胞报告》杂志上的两篇论文,美国研究人员发现了第一个锌金属的伴侣蛋白,并...

科学家首次揭示糖尿病卵母细胞起源 有助于减少生育缺陷

5月19日,记者从浙江大学获悉,浙大医学院附属妇产科医院黄荷凤院士团队与中国科学院徐国良院士团队合作...

前4月河北省电信网络诈骗案件发案数连续4个月同比下降

记者从省政府新闻办5月18日举行的河北省打击治理电信网络诈骗犯罪工作新闻发布会上获悉,今年1至4月,全...

重庆:到2025年25个重点领域企业能效全部达到基准水平

3月18日,重庆日报记者从市发展改革委获悉,日前,市发展改革委、市经济信息委、市生态环境局、市市场监...

重磅!2021“发现重庆之美”获奖名单揭晓

3月19日,2021发现重庆之美颁奖典礼在线上举行,最美城市管理人、最美坡坎崖、最美街头绿地、垃圾分类时...

去年重庆回收废弃农膜1.4万吨 农膜回收率达89.31%

3月16日,市五届人大常委会第六十九次主任会议听取了市政府关于《重庆市人大常委会对市人民政府农业面源...

申报分两批!今年国家级博士后科研工作站新设站工作启动

3月19日,重庆日报记者从市人力社保局获悉,为推动产学研深度融合,加强博士后工作平台建设,我市将开展...

浙江鄞州:“水、电、气、数”通办专窗实现城乡公共服务均等化

近日,在宁波市鄞州区邱隘镇公共事务服务中心,66岁的邱隘镇沈家新村居民邱秀月在一个窗口相继办理了不...

打开“浙里办” 浙江1000家农贸市场农产品可线上比价

今天哪个菜场的五花肉最便宜?食品安全抽检结果怎么样?这些问题,浙江居民只需打开浙里办APP上的浙里市场...

浙江鉴湖国家湿地公园规划发布 打造乡村数字旅游

19日上午,鉴湖国家湿地公园规划发布暨东鉴湖农旅观光体验启动仪式在绍兴市越城区陶堰街道举行。当天,...

总投资超10亿元!6个石化装备运维项目在岱山签约

日前,总投资超10亿元的6个石化装备运维项目在岱山经济开发区集中签约。此次签约的项目占地106亩,规划...

如何避免成为“买而不做”的“装备党”祝 杰

自恋是人的天性,人们总是希望自己是更好的,那么自己拥有的事物,也就相应地被自我赋予了更高的价值,...

山西临汾:率先在全省建起农村集体经济开发区

3月17日,临汾市农村集体经济发展(集团)有限公司在临汾经济开发区揭牌。以此为标志,临汾率先在全省建起...

一线工作近22年的缉毒警:我知道坏的是毒品不是人性

  “影子”般的缉毒警:一线工作22年,我知道坏的是毒品不是人性  如果我不继续干,别人也要干,缉...

广东肇庆“毒驾连撞5车致1死”肇事司机被批捕

  1月5日14时30分许,广东肇庆市端州区一男子赵某毒驾连撞5车,致一人死亡。  1月10日,澎湃新闻(ww...

江西最大文物倒卖案宣判:倒卖国家二级文物 9人获刑

  中新网南昌1月10日电 (冷峥嵘 张一怡)江西省共青城市人民法院10日发布消息称,近日,该院依法审结...

青海保障门源地震后生活必需品应急物资

  中新网西宁1月10日电 (记者 孙睿)记者10日从青海省商务厅获悉,青海海北州门源县6 9级地震灾害发...

广西东兴口岸恢复通关 入境需网上预约

  中新社防城港1月10日电 (翟李强)自2022年1月10日零时起,广西东兴口岸和边民互市贸易区恢复人员、...

呼和浩特:寒假期间有条件的学校要开展校内托管服务

  中新网呼和浩特1月10日电 (记者 张林虎)10日,记者从呼和浩特市教育局获悉,在暑假校内托管试点的...

“中国最后一个原始部落”翁丁老寨火灾原因公布

北京市十五届人大五次会议胜利闭幕

天津市委市政府致全市父老乡亲的慰问信:我们一定能够打赢

天津米面油存量由20天提高至30天 超市菜市场进货量翻倍

兰州名师话“美育”:“尚乐立人”分层培优 以“美”润教

子夜直击,天津寒天战“疫”

重庆姐弟被生父扔下坠亡案上诉期结束 一审法院暂未收到两被告人上诉状

天津:划定封控区 全市开展全员核酸检测

江歌母亲江秋莲:尊重法院判决,法律认定在我意料之中

中国边疆“北方第一所”:9名民警守护“生命禁区”

辟谣!网传“封控区管控区相继解封”通知并非西安

河南安阳9日12时至24时新增11例本土确诊病例

老人5折环卫工8折生活困难免费 这家面馆背后有个暖心事

铁路公安以110幅优秀书画作品庆祝人民警察节

本周中东部冷空气频繁 东北等地有降雪

河南新增本土确诊病例60例

“打拐”民警眼里的百态人生:见证一份份不愿放弃的爱

迎腊八北京晴天上线 阵风6至7级体感冻人

多省份倡议春节“非必要不离开”,这地补贴1000元

伪造国家机关证件典型案例发布 有力打击制假贩假行为

15年照顾170多个新生儿 金牌月嫂“漂”到海外去看娃

江歌母亲江秋莲诉刘鑫案一审将于今日宣判

河南省安阳市两地划为高风险地区 一地划为中风险地区

员工迟到一次罚一千引争议 单位惩戒员工法律边界何在?

以体育人 秀出“青年范儿”

保安、厨师曾被竞业限制 企业滥用竞业限制让员工很苦恼

反诈老陈破圈:人民群众在哪 就把反诈宣传开展到哪

一所中职学校的育人实践

各地严惩恶意欠薪 保障农民工及时拿到工资

中学生成剧本杀行业潜在消费人群 多方助推行业“净化”

“这就是我最好的选择”

对餐饮浪费说“不”(百姓关注)

校园“直通车” 服务“零距离”

琉璃河遗址 两段铭文共证北京三千年建城史

千元修复个人征信报告?银行:“征信修复”都是骗局

琉璃河遗址 两段铭文共证北京三千年建城史

北京公交将开展无人驾驶道路测试

河南郑州调整五地为中风险区域 公路入郑需核酸检测阴性证明

“共享法庭”让金融消费者畅享“智慧司法”便利

《传奇2》网游著作权纠纷案峰回路转 最高法五份裁决四份改判一份发回重审

三代警察:从未放弃的28年

“胡叔叔”的寻亲工作室

天津津南本轮本土疫情第3—20例阳性感染者活动轨迹公布

“团圆”行动刑侦专家吕游 每一个案例都有单独的技术方案

河南“战疫”直面五重考验

开考古书店日均两三个顾客 流量时代她决心仍是只卖书

冬奥开幕在即 “双减”催热冰雪课堂

“不得以任何借口拒收患者”彰显生命至上

天津多站进京车票暂停发售

冷空气来袭广州气温骤降 广东多地发布寒冷预警

x 广告
x 广告

Copyright ©  2015-2022 华南自然网版权所有  备案号:粤ICP备18025786号-52   联系邮箱: 954 29 18 82 @qq.com