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

对海尔网站建设水平的评价昆明网络推广哪里有

对海尔网站建设水平的评价,昆明网络推广哪里有,如何做线上推广,上海招聘网站建设场景 AndroidJava中使用Aes对称加密的工具类与使用#xff1a; AndroidJava中使用Aes对称加密的工具类与使用_霸道流氓气质的博客-CSDN博客 上面讲的Java与安卓进行数据传输时使用AES加解密的示例工具类。 如果Java需要与其他第三方平台比如Winform程序进行数据传递时也需…场景 AndroidJava中使用Aes对称加密的工具类与使用 AndroidJava中使用Aes对称加密的工具类与使用_霸道流氓气质的博客-CSDN博客 上面讲的Java与安卓进行数据传输时使用AES加解密的示例工具类。 如果Java需要与其他第三方平台比如Winform程序进行数据传递时也需要 数据加解密。 AES AES高级加密标准Advanced Encryption Standard)加密是一种对称的加密方式用来替代原先的DES。 AES支持三种长度的密钥 128位192位256位 平时大家所说的AES128AES192AES256实际上就是指AES算法对不同长度密钥的使用。 三种密钥的区别 从安全性来看AES256安全性最高。从性能看AES128性能最高。本质原因是它们的加密处理轮数不同。 本文采用AES的ECB模式进行加密填充方式为PKCS5Padding加密的密码必须为16位。编码方式统一使用UTF-8。 关于加密模式与填充模式不再详解可自行学习只需保证Java与Winform中对应即可。 Java AES加密中的ECB加密模式对应于C#中的System.Security.Cryptography.CipherMode.ECB模式; Java中的PKCS5Padding填充方式对应于C#中的System.Security.Cryptography.PaddingMode.PKCS7; 注 博客https://blog.csdn.net/badao_liumang_qizhi  实现 1、Java中进行加解密的流程与上面博客中一致 引入依赖 !-- Aes加密--dependencygroupIdorg.bouncycastle/groupIdartifactIdbcprov-jdk16/artifactIdversion1.46/version/dependency 新建工具类 ​ import org.apache.tomcat.util.codec.binary.Base64; import org.bouncycastle.jce.provider.BouncyCastleProvider;import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; import java.security.SecureRandom; import java.util.Random;/*** AES加、解密算法工具类*/ public class AesUtils {/*** 加密算法AES*/private static final String KEY_ALGORITHM AES;/*** key的长度Wrong key size: must be equal to 128, 192 or 256* 传入时需要16、24、36*/private static final Integer KEY_LENGTH 16 * 8;/*** 算法名称/加密模式/数据填充方式* 默认AES/ECB/PKCS5Padding*/private static final String ALGORITHMS AES/ECB/PKCS5Padding;/*** 后端AES的key由静态代码块赋值*/public static String key badaodechengxvyu;static {key getKey();}/*** 获取key*/public static String getKey() {StringBuilder uid new StringBuilder();//产生16位的强随机数Random rd new SecureRandom();for (int i 0; i KEY_LENGTH / 8; i) {//产生0-2的3位随机数int type rd.nextInt(3);switch (type) {case 0://0-9的随机数uid.append(rd.nextInt(10));break;case 1://ASCII在65-90之间为大写,获取大写随机uid.append((char) (rd.nextInt(25) 65));break;case 2://ASCII在97-122之间为小写获取小写随机uid.append((char) (rd.nextInt(25) 97));break;default:break;}}return uid.toString();}/*** 加密** param content    加密的字符串* param encryptKey key值*/public static String encrypt(String content, String encryptKey) throws Exception {//设置Cipher对象Cipher cipher Cipher.getInstance(ALGORITHMS,new BouncyCastleProvider());cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(encryptKey.getBytes(), KEY_ALGORITHM));//调用doFinalbyte[] b cipher.doFinal(content.getBytes(StandardCharsets.UTF_8));// 转base64return Base64.encodeBase64String(b);}/*** 解密** param encryptStr 解密的字符串* param decryptKey 解密的key值*/public static String decrypt(String encryptStr, String decryptKey) throws Exception {//base64格式的key字符串转bytebyte[] decodeBase64 Base64.decodeBase64(encryptStr);//设置Cipher对象Cipher cipher Cipher.getInstance(ALGORITHMS,new BouncyCastleProvider());cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), KEY_ALGORITHM));//调用doFinal解密byte[] decryptBytes cipher.doFinal(decodeBase64);return new String(decryptBytes);} }​ 加解密测试 public static void main(String[] args) {/*        String sjkey getKey();System.out.println(获得随机key sjkey);*///16位String key badaodechengxvyu;//字符串String str 霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主;try {//加密String encrypt encrypt(str, key);//解密String decrypt decrypt(encrypt, key);System.out.println(加密前 str);System.out.println(加密后 encrypt);System.out.println(解密后 decrypt);} catch (Exception e) {e.printStackTrace();}} 测试结果 2、Winform中也新建工具类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Security.Cryptography;namespace WinformStudyDemo.com.badao.utils {class AESUtils{private static string key badaodechengxvyu;// AES 加密public static string encrypt(string str){if (string.IsNullOrEmpty(str)) return null;Byte[] toEncryptArray Encoding.UTF8.GetBytes(str);RijndaelManaged rm new RijndaelManaged{Key Encoding.UTF8.GetBytes(key),Mode CipherMode.ECB,Padding PaddingMode.PKCS7};ICryptoTransform cTransform rm.CreateEncryptor();Byte[] resultArray cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Convert.ToBase64String(resultArray, 0, resultArray.Length);}// AES 解密public static string decrypt(string str){if (string.IsNullOrEmpty(str)) return null;Byte[] toEncryptArray Convert.FromBase64String(str);RijndaelManaged rm new RijndaelManaged{Key Encoding.UTF8.GetBytes(key),Mode CipherMode.ECB,Padding PaddingMode.PKCS7};ICryptoTransform cTransform rm.CreateDecryptor();Byte[] resultArray cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Encoding.UTF8.GetString(resultArray);}} } 注意与上面Java一致的key 然后进行加解密测试 //字符串String str https://blog.csdn.net/BADAO_LIUMANG_QIZHI;try{//加密String encrypt com.badao.utils.AESUtils.encrypt(str);//解密String decrypt com.badao.utils.AESUtils.decrypt(encrypt);Console.WriteLine(加密前 str);Console.WriteLine(加密后 encrypt);Console.WriteLine(解密后 decrypt);}catch (Exception exeception){Console.WriteLine(exeception.Message);}测试结果 3、经过对比结果一致 均为 加密前https://blog.csdn.net/BADAO_LIUMANG_QIZHI 加密后hI/PIG/rNC9OOqeqSILf4txnymyEAWa5FUVtBMYvNDlkpxgShSB44FKbh1HkvVg 解密后https://blog.csdn.net/BADAO_LIUMANG_QIZHI
http://www.dnsts.com.cn/news/54421.html

相关文章:

  • 唐山网站建设拓网店美工素材
  • 哈尔滨企业自助建站系统做玩网站怎么上传图片
  • 网站成立时间网站策划书的编写
  • 龙游手机网站制作做一些好玩的个人网站
  • 网站软件定制开发制作潍坊做公司网站
  • 做网站哪些软件比较好兰州网站设计教程
  • 网站内容做淘宝店铺链接影响排名吗镇江地区做网站的公司
  • H5网站开发工程师科技公司网站建设
  • 重庆店铺整站优化广告软文200字
  • 各类东莞微信网站建设行业网站建设的开发方案
  • 天津网站设计诺亚科技不忘初心 继续前进网站怎么做
  • 贫困户房屋建设补助在哪个网站公布wordpress显示在线人数
  • 网站建设的类型创业服务网站建设方案项目书
  • 学校网站建设调查表企业网站推广的策略
  • 免费 建站苏宁易购网站建设建议
  • 聊天网站备案wordpress 首页 动
  • dede门户网站模版logo字体在线设计生成器
  • 没有服务器怎样做网站如何做中英切换的网站
  • 上海网站建设服务宁德淘宝网站链接怎么做要
  • 爱站网关键词挖掘工具站长工具wordpress插件下载排行
  • 无锡高端网站建设平台网站程序 wap pc 同步
  • 沈阳网站制作建设网站没被百度收录
  • 制作网站的程序语言作图工具
  • 如何在网站源码做授权wpautop wordpress
  • 黄冈做网站公司wordpress comments_template
  • 网站设计时间建设部网站建筑工程质保期
  • 怎样在网站图片上做店铺广告网站建设维护多少钱
  • 网站制作源码版权装修平台排行榜前十名
  • 网站建设编码成都住建局官网登陆
  • 网站模版 优帮云电商网站建设关键词优化