当前位置: 首页 > news >正文

惠州市建设规划局网站网站备案填写

惠州市建设规划局网站,网站备案填写,温州百度推广排名,深圳市建设网思维导图 一、AES加解密 1.概述 1.1 概念 AES#xff1a; 高级加密标准#xff08;Advanced Encryption Standard#xff09;是一种对称加密的区块加密标准。 #xff08;1#xff09;替代DES的新一代分组加密算法 #xff08;2#xff09;支持三种长度密钥#x…思维导图 一、AES加解密 1.概述 1.1 概念 AES 高级加密标准Advanced Encryption Standard是一种对称加密的区块加密标准。 1替代DES的新一代分组加密算法 2支持三种长度密钥128、192、256位 1.2 加解密过程 分组加密、分组解密 1.2.1 分组加解密 将待加解密的内容按照128位分组将密钥按照128位、192位、256位分组分别将分组后的明文与相应分组后的密钥加解密。 1明文与密钥分组 明文分组 每组长度相等都是128位16字节 密钥分组 有128位、192位、256位推荐加密轮数分别为 10、12、14 2密钥组处理 以每组128位为例 推荐加密轮数为10前9次执行操作一样第10次有所不同 3加密 明文与密钥分组后对每组如下操作 明文组与密钥组处理 ---- 轮密钥加 ---- 10轮加密 ---- 密文组 4解密 对每组如下操作 密文组 ---- 轮密钥加 ---- 10轮加密 ---- 明文组 1.2.2 4种操作 1AddRoundKey 轮密钥加 矩阵中的每一个字节都与该次轮密钥Round Key做XOR运算 每个子密钥由密钥生成方案产生 2SubBytes字节替代 通过非线性的替代函数用查找表的方式把每个字节替换成对应的字节。 3ShiftRows行移位 将矩阵中的每个横列进行循环式移位 4MixColumns 列混淆 为了充分混合矩阵中各个直行 使用线性转换来混合每列的4个字节 1.2.2 明文填充模式 1为什么要填充 如一段明文长度是192位如果按每128位拆第二个明文块只有64位不足128位就需要对明文块进行填充 2分类 NoPadding 不做任何填充但是要求明文必须是16字节128bit的整数倍。 PKCS5Padding默认 如果明文块少于16个字节128bit在明文块末尾补足相应数量的字符。 且每个字节的值等于缺少的字符数。 如明文{1,2,3,4,5,a,b,c,d,e},缺少6个字节则补全为{1,2,3,4,5,a,b,c,d,e,6,6,6,6,6,6} ISO10126Padding 如果明文块少于16个字节128bit在明文块末尾补足相应数量的字符。 最后一个字符值等于缺少的字符数其他字符填充随机数。 如明文{1,2,3,4,5,a,b,c,d,e},缺少6个字节则可能补全为{1,2,3,4,5,a,b,c,d,e,5,c,3,G,$,6} 1.3 Java实现 注意 AES加密包含Base64加密 加密 AES加密 - Base64加密 - 密文解密 Base64解密 - AES解密 - 明文测试地址http://tool.chacuo.net/cryptaes1.3.1 Java代码 import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.Base64Utils;import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec;/*** AES加密工具类* author kevin*/ public class AESUtil {/*** 日志相关*/private static final Logger LOGGER LoggerFactory.getLogger(AESUtil.class);/*** 编码*/private static final String ENCODING UTF-8;/*** 算法定义*/private static final String AES_ALGORITHM AES;/*** 指定填充方式*/private static final String CIPHER_PADDING AES/ECB/PKCS5Padding;private static final String CIPHER_CBC_PADDING AES/CBC/PKCS5Padding;/*** 偏移量(CBC中使用增强加密算法强度)*/private static final String IV_SEED 1234567812345678;private static final String AES_KEY equ6drp6nrwmgf1t;/*** AES加密* param content 待加密内容*/public static String encrypt(String content){if(StringUtils.isBlank(content)){LOGGER.info(AES encrypt: the content is null!);return null;}//判断秘钥是否为16位if(StringUtils.isNotBlank(AES_KEY) AES_KEY.length() 16){try {//对密码进行编码byte[] bytes AES_KEY.getBytes(ENCODING);//设置加密算法生成秘钥SecretKeySpec skeySpec new SecretKeySpec(bytes, AES_ALGORITHM);// 算法/模式/补码方式Cipher cipher Cipher.getInstance(CIPHER_PADDING);//选择加密cipher.init(Cipher.ENCRYPT_MODE, skeySpec);//根据待加密内容生成字节数组byte[] encrypted cipher.doFinal(content.getBytes(ENCODING));//返回base64字符串return Base64Utils.encodeToString(encrypted);} catch (Exception e) {LOGGER.info(AES encrypt exception: e.getMessage());throw new RuntimeException(e);}}else {LOGGER.info(AES encrypt: the AES_KEY is null or error!);return null;}}/*** 解密* param content 待解密内容*/public static String decrypt(String content){if(StringUtils.isBlank(content)){LOGGER.info(AES decrypt: the content is null!);return null;}//判断秘钥是否为16位if(StringUtils.isNotBlank(AES_KEY) AES_KEY.length() 16){try {//对密码进行编码byte[] bytes AES_KEY.getBytes(ENCODING);//设置解密算法生成秘钥SecretKeySpec skeySpec new SecretKeySpec(bytes, AES_ALGORITHM);// 算法/模式/补码方式Cipher cipher Cipher.getInstance(CIPHER_PADDING);//选择解密cipher.init(Cipher.DECRYPT_MODE, skeySpec);//先进行Base64解码byte[] decodeBase64 Base64Utils.decodeFromString(content);//根据待解密内容进行解密byte[] decrypted cipher.doFinal(decodeBase64);//将字节数组转成字符串return new String(decrypted, ENCODING);} catch (Exception e) {LOGGER.info(AES decrypt exception: e.getMessage());throw new RuntimeException(e);}}else {LOGGER.info(AES decrypt: the AES_KEY is null or error!);return null;}}/*** AES_CBC加密* param content 待加密内容*/public static String encryptCBC(String content){if(StringUtils.isBlank(content)){LOGGER.info(AES_CBC encrypt: the content is null!);return null;}//判断秘钥是否为16位if(StringUtils.isNotBlank(AES_KEY) AES_KEY.length() 16){try {//对密码进行编码byte[] bytes AES_KEY.getBytes(ENCODING);//设置加密算法生成秘钥SecretKeySpec skeySpec new SecretKeySpec(bytes, AES_ALGORITHM);// 算法/模式/补码方式Cipher cipher Cipher.getInstance(CIPHER_CBC_PADDING);//偏移IvParameterSpec iv new IvParameterSpec(IV_SEED.getBytes(ENCODING));//选择加密cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);//根据待加密内容生成字节数组byte[] encrypted cipher.doFinal(content.getBytes(ENCODING));//返回base64字符串return Base64Utils.encodeToString(encrypted);} catch (Exception e) {LOGGER.info(AES_CBC encrypt exception: e.getMessage());throw new RuntimeException(e);}}else {LOGGER.info(AES_CBC encrypt: the AES_KEY is null or error!);return null;}}/*** AES_CBC解密* param content 待解密内容*/public static String decryptCBC(String content){if(StringUtils.isBlank(content)){LOGGER.info(AES_CBC decrypt: the content is null!);return null;}//判断秘钥是否为16位if(StringUtils.isNotBlank(AES_KEY) AES_KEY.length() 16){try {//对密码进行编码byte[] bytes AES_KEY.getBytes(ENCODING);//设置解密算法生成秘钥SecretKeySpec skeySpec new SecretKeySpec(bytes, AES_ALGORITHM);//偏移IvParameterSpec iv new IvParameterSpec(IV_SEED.getBytes(ENCODING));// 算法/模式/补码方式Cipher cipher Cipher.getInstance(CIPHER_CBC_PADDING);//选择解密cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);//先进行Base64解码byte[] decodeBase64 Base64Utils.decodeFromString(content);//根据待解密内容进行解密byte[] decrypted cipher.doFinal(decodeBase64);//将字节数组转成字符串return new String(decrypted, ENCODING);} catch (Exception e) {LOGGER.info(AES_CBC decrypt exception: e.getMessage());throw new RuntimeException(e);}}else {LOGGER.info(AES_CBC decrypt: the AES_KEY is null or error!);return null;}}/*** 获取随机AES密钥*/private static String getAESKey(){return RandomStringUtils.random(16, abcdefghijklmnopqrstuvwxyz1234567890);}public static void main(String[] args) {// AES支持三种长度的密钥128位、192位、256位。// 代码中这种就是128位的加密密钥16字节 * 8位/字节 128位。String aesResult encrypt(测试AES加密);System.out.println(AES加密结果: aesResult);System.out.println();System.out.println(---------解密---------);String decrypt decrypt(aesResult);System.out.println(AES解密结果: decrypt);System.out.println();System.out.println(--------AES_CBC加密解密---------);String cbcResult encryptCBC(测试AESCBC加密);System.out.println(AES_CBC加密结果: cbcResult);System.out.println();System.out.println(---------AES_CBC解密---------);String cbcDecrypt decryptCBC(cbcResult);System.out.println(AES_CBC解密结果: cbcDecrypt);System.out.println();} } 1.3.2 执行结果 AES加密结果:CSx/Cg6F7paoo9J7AujBYg---------解密--------- AES解密结果:测试AES加密--------AES_CBC加密解密--------- AES_CBC加密结果:hmlwSKLW91JhGMqEFozBLzidi6YRVjei0Hw1QkW07ac---------AES_CBC解密--------- AES_CBC解密结果:测试AESCBC加密1.3.3线上验证 验证地址http://tool.chacuo.net/cryptaes 另附安卓代码实现如下 AES加密(二) — Aes256带偏移量加/解密 下一篇跳转–信息安全一 本篇文章主要参考链接如下 参考链接1-Java实现加密一AES加解密 持续更新中… 随心所往看见未来。Follow your heartsee light 欢迎点赞、关注、留言一起学习、交流
文章转载自:
http://www.morning.npmcf.cn.gov.cn.npmcf.cn
http://www.morning.pznhn.cn.gov.cn.pznhn.cn
http://www.morning.ctlzf.cn.gov.cn.ctlzf.cn
http://www.morning.snzgg.cn.gov.cn.snzgg.cn
http://www.morning.ydnx.cn.gov.cn.ydnx.cn
http://www.morning.xmwdt.cn.gov.cn.xmwdt.cn
http://www.morning.fqnql.cn.gov.cn.fqnql.cn
http://www.morning.bsghk.cn.gov.cn.bsghk.cn
http://www.morning.yixingshengya.com.gov.cn.yixingshengya.com
http://www.morning.trnhy.cn.gov.cn.trnhy.cn
http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn
http://www.morning.nmwgd.cn.gov.cn.nmwgd.cn
http://www.morning.dmtld.cn.gov.cn.dmtld.cn
http://www.morning.wcgcm.cn.gov.cn.wcgcm.cn
http://www.morning.hpkgm.cn.gov.cn.hpkgm.cn
http://www.morning.wktbz.cn.gov.cn.wktbz.cn
http://www.morning.gydth.cn.gov.cn.gydth.cn
http://www.morning.rknjx.cn.gov.cn.rknjx.cn
http://www.morning.rzczl.cn.gov.cn.rzczl.cn
http://www.morning.pqcrz.cn.gov.cn.pqcrz.cn
http://www.morning.psxcr.cn.gov.cn.psxcr.cn
http://www.morning.bpwfr.cn.gov.cn.bpwfr.cn
http://www.morning.mhcys.cn.gov.cn.mhcys.cn
http://www.morning.brfxt.cn.gov.cn.brfxt.cn
http://www.morning.kpgms.cn.gov.cn.kpgms.cn
http://www.morning.tqfnf.cn.gov.cn.tqfnf.cn
http://www.morning.qtwd.cn.gov.cn.qtwd.cn
http://www.morning.bmyrl.cn.gov.cn.bmyrl.cn
http://www.morning.nflpk.cn.gov.cn.nflpk.cn
http://www.morning.wbdm.cn.gov.cn.wbdm.cn
http://www.morning.fqklt.cn.gov.cn.fqklt.cn
http://www.morning.fgsqz.cn.gov.cn.fgsqz.cn
http://www.morning.yfddl.cn.gov.cn.yfddl.cn
http://www.morning.tpwrm.cn.gov.cn.tpwrm.cn
http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn
http://www.morning.c7495.cn.gov.cn.c7495.cn
http://www.morning.jqmqf.cn.gov.cn.jqmqf.cn
http://www.morning.xcjbk.cn.gov.cn.xcjbk.cn
http://www.morning.bwttj.cn.gov.cn.bwttj.cn
http://www.morning.prfrb.cn.gov.cn.prfrb.cn
http://www.morning.qgmbx.cn.gov.cn.qgmbx.cn
http://www.morning.bmfqg.cn.gov.cn.bmfqg.cn
http://www.morning.fqtzn.cn.gov.cn.fqtzn.cn
http://www.morning.tnhg.cn.gov.cn.tnhg.cn
http://www.morning.njntp.cn.gov.cn.njntp.cn
http://www.morning.ykswq.cn.gov.cn.ykswq.cn
http://www.morning.ygrkg.cn.gov.cn.ygrkg.cn
http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn
http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn
http://www.morning.rwpjq.cn.gov.cn.rwpjq.cn
http://www.morning.czxrg.cn.gov.cn.czxrg.cn
http://www.morning.ztdlp.cn.gov.cn.ztdlp.cn
http://www.morning.kfwrq.cn.gov.cn.kfwrq.cn
http://www.morning.mfnsn.cn.gov.cn.mfnsn.cn
http://www.morning.fsfz.cn.gov.cn.fsfz.cn
http://www.morning.dwfzm.cn.gov.cn.dwfzm.cn
http://www.morning.cftkz.cn.gov.cn.cftkz.cn
http://www.morning.zzgkk.cn.gov.cn.zzgkk.cn
http://www.morning.knryp.cn.gov.cn.knryp.cn
http://www.morning.qxkjy.cn.gov.cn.qxkjy.cn
http://www.morning.yhxhq.cn.gov.cn.yhxhq.cn
http://www.morning.bmhc.cn.gov.cn.bmhc.cn
http://www.morning.nhgkm.cn.gov.cn.nhgkm.cn
http://www.morning.xtdtt.cn.gov.cn.xtdtt.cn
http://www.morning.skcmt.cn.gov.cn.skcmt.cn
http://www.morning.wyppp.cn.gov.cn.wyppp.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.zhnyj.cn.gov.cn.zhnyj.cn
http://www.morning.gzzxlp.com.gov.cn.gzzxlp.com
http://www.morning.mqss.cn.gov.cn.mqss.cn
http://www.morning.yqpzl.cn.gov.cn.yqpzl.cn
http://www.morning.bdkhl.cn.gov.cn.bdkhl.cn
http://www.morning.mygbt.cn.gov.cn.mygbt.cn
http://www.morning.bqdpy.cn.gov.cn.bqdpy.cn
http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn
http://www.morning.cknws.cn.gov.cn.cknws.cn
http://www.morning.zwxfj.cn.gov.cn.zwxfj.cn
http://www.morning.yjxfj.cn.gov.cn.yjxfj.cn
http://www.morning.yfddl.cn.gov.cn.yfddl.cn
http://www.morning.lokext.com.gov.cn.lokext.com
http://www.tj-hxxt.cn/news/266893.html

相关文章:

  • 银川网站建设哪家优建设摩托车型号大全
  • 威海网站建设价格无锡专业网站建设
  • 公司网站建设报告建筑公司企业愿景
  • 网站建设是要考虑什么东西wordpress域名更改
  • 珠海市住房城乡建设局网站河北网站建设案例
  • 一键搭建网站j2ee网站开发
  • 中国十大门户类网站wordpress高级企业自适应主题
  • 网站loading动画深圳全网推广排名
  • 河源北京网站建设做网站行情
  • 网站后台上次图片南京cms模板建站
  • 2021不良正能量免费网站app微网站如何做推广方案
  • 电子商务网站有哪些内容高校档案室网站建设
  • 小江网站建设公司个人网站制作代码
  • 在门户网站上爆光怎么做网站seo优化包括哪些方面
  • 响应式自适应织梦网站模板手机排行榜最新
  • 网站开发工资淄博熊掌号网站怎么做
  • 电子商务网站开发实验报告百度网站 收录
  • 做网站送优化烟台哪里做网站
  • 蓝色经典网站论坛网站建设多少钱
  • 如何制作视频网站2022年楼市大爆发
  • 除了个性化阶段江苏seo哪家好
  • 网站备案登记信息大型外包软件公司有哪些
  • 局域网建设简单的影视网站自己开发软件大概需要多少钱
  • 地名网站建设方案浙江五联建设有限公司网站
  • 山西响应式网站建设制作则么建立自己的网站
  • 国外服务器有哪些seo文章代写一篇多少钱
  • 销售产品单页面网站模板站外引流推广渠道
  • 重庆软件制作平台seo的优化技巧和方法
  • 环县网站怎么做wordpress管理员登陆
  • 网站项目开发建设合同卡密网站建设