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

湖州 网站建设校园网站建设计划书

湖州 网站建设,校园网站建设计划书,大同建设银行保安招聘网站,动漫网站怎么建设AES 简介#xff1a;DES 全称为Data Encryption Standard#xff0c;即数据加密标准#xff0c;是一种使用密钥加密的块算法#xff0c;1977年被美国联邦政府的国家标准局确定为联邦资料处理标准#xff08;FIPS#xff09; AES 密码学中的高级加密标准#xff08;Advan…AES 简介DES 全称为Data Encryption Standard即数据加密标准是一种使用密钥加密的块算法1977年被美国联邦政府的国家标准局确定为联邦资料处理标准FIPS AES 密码学中的高级加密标准Advanced Encryption StandardAES又称Rijndael加密法是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DESData Encryption Standard已经被多方分析且广为全世界所使用。 AES的区块长度固定为128位密钥长度则可以是128 bit192 bit 或256位 bit 。换算成字节长度就是密码必须是 16个字节24个字节32个字节。AES密码的长度更长了破解难度就增大了所以就更安全。 1 引入依赖 Java SE自带的加解密工具包不支持AES/CBC/PKCS7Padding。 dependencygroupIdorg.bouncycastle/groupIdartifactIdbcpkix-jdk15on/artifactIdversion1.69/version/dependency 在加密算法中如DESAESRSA数据是分块加密的为什么要分块因为整块加密数据量有可能太大。分块的话就得按照一定的长度即block_size来分大多数加密算法中的分块大小默认都是64bits即8个字节block_size8。如果需要加密的数据明文的字节码的长度不是块大小的整数倍那么就需要在末尾进行填充。 PKCS7Padding 是一种填充模式。 2 加密 AES加密的五种模式 ECB(Electronic Codebook Book) 电码本模式 将明文分成若干段相同的小段, 不足补齐, 然后依次对每一小段进行加密后输出密文. ECB模式的弱点在于, 相同的明文会产生相同的密文, 容易遭到字典攻击, 安全性不够高 CBC(Cipher Block Chaining) 密码分组链接模式 先明文切分成若干小段, 每一小段与初始块或者上一段的密文段进行异或运算后, 再与密钥进行加密, 这样做的目的是增强破解难度. 相对于ECB模式来说, CBC模式较安全, 同时CBC适合于传输长度较长的报文 CTR(Counter) 计算器模式 在CTR模式中有一个自增的算子, 这个算子用密钥加密之后的输出和明文异或的结果得到密文, 相当于一次一密. 这种加密方式简单快速安全可靠, 而且可以并行加密. 但是在计算器不能维持很长的情况下, 密钥只能使用一次 CFB(Cipher FeedBack) 密码反馈模式 OFB(Output FeedBack) 输出反馈模式 public static String encryptAesCbcPad7(String key, String text) throws Exception {try {Security.addProvider(new BouncyCastleProvider());Cipher cipher Cipher.getInstance(AES/CBC/PKCS7Padding);SecretKeySpec keyspec new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), AES);IvParameterSpec ivspec new IvParameterSpec(key.getBytes(StandardCharsets.UTF_8));cipher.init(Cipher.ENCRYPT_MODE, keyspec, ivspec);byte[] original cipher.doFinal(text.getBytes(StandardCharsets.UTF_8));return HexBin.encode(original, false);} catch (Exception e) {throw new IOException(encrypt password[ text ] by key[ key ] fail [ e.getMessage() ]);}}解密 public static String decryptAesCbcPad7(String key, String password) throws Exception {try {Security.addProvider(new BouncyCastleProvider());byte[] pbytes HexBin.decode(password);Cipher cipher Cipher.getInstance(AES/CBC/PKCS7Padding);SecretKeySpec keyspec new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), AES);IvParameterSpec ivspec new IvParameterSpec(key.getBytes(StandardCharsets.UTF_8));cipher.init(Cipher.DECRYPT_MODE, keyspec, ivspec);byte[] original cipher.doFinal(pbytes);return new String(original, StandardCharsets.UTF_8).trim();} catch (Exception e) {throw new IOException(decrypt password[ password ] by key[ key ] fail [ e.getMessage() ]);}} 测试 public static void main(String args[]) throws Exception {String test 早起的年轻人;//16位的密钥String key ****************;//执行加密操作String data encryptAesCbcPad7(key,test);System.out.println(加密后data);//执行解密操作String s decryptAesCbcPad7(key,data);System.out.println(解密后s);}执行结果 加密后47711B0351B24E6A14C02CE95E8E672A1F3E386E6807D9D7BE34E6AE1C0BDBD1 解密后早起的年轻人
http://www.hkea.cn/news/14267036/

相关文章:

  • 中文网站站内优化怎么做网站和网络建设自查报告
  • 商务网站建设报告书网站空间去哪里买的
  • 建设银行网站用户长沙seo公司网站优化
  • 在重庆 那里可以做诚信网站认证网站建设案例怎么样
  • 有限责任公司章程济南网站推广优化外包
  • 顺德建网站企业网站推广效果从哪些方面进行分析
  • 上海市住房和城乡建设厅网站查询广告东莞网站建设技术支持
  • 石家庄建设企业网站工程建设企业网站
  • 工艺品网站建设开发做的网站必须放在idc机房吗
  • 建设高端网站公司网上注册
  • 重庆网站平台如何推广做网站啦代理的方法
  • 江西省建设监督网站php做的网站怎么运行
  • 受欢迎的模板网站建设下载并安装app
  • 新公司网站建设方案哪里可以做网站推广
  • 专业网站建设的公司东莞怎样做网站建设
  • 城乡建设部网站房产查询鄞州seo整站优化服务
  • 自己怎么建立自己的国际网站银川网站建设哪家不错
  • 做租凭网站是经营性吗上海网站排名优化
  • 织梦做的网站怎么上传视频教程网页版传奇176
  • 分销网站手机模板哪个网站可以做c语言的题
  • 做网站公司知名高端网站建设报价
  • 北京有哪些网站建设公司中核集团为什么排央企第一名
  • 天天seo站长工具网站建设设计图图片
  • 微信小商店怎么分销辽阳seo
  • 微官网和移动网站区别吗网站建设预算表制作
  • 校园网网站建设费用网站开发排期表
  • 在哪个网站申请建设资质桂林漓江20元背面图
  • 建设项目环评在什么网站公示wordpress 进去管理
  • 哈尔滨网站建设制作价格wordpress是干啥的
  • 裁剪图网站搭建企业资料网站