首页 > 编程语言 >java关于加密key保存乱码问题

java关于加密key保存乱码问题

时间:2022-11-02 17:23:47浏览次数:41  
标签:encryptHex aes 加密 String 乱码 key java decryptStr

当我们无论使用对称加密还是非对称加密都会涉及到key,随机生成的key一般是byte[] 类型,通过String进行保存的时候就会出现无法识别问题,并且读取后无法识别问题。这个时候通过encode和decode方法进行处理。少废话,上代码

以下以aes为例:

        String content = "test中文";
        //随机生成密钥
        byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded();

        String keyStr = Base64.encode(key);

        log.info("key: {}", keyStr);
//构建
        SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, Base64.decode(keyStr));

//加密为16进制表示
        String encryptHex = aes.encryptHex(content);
//解密为字符串
        String decryptStr = aes.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8);

        log.info("password: {},      {}",encryptHex, decryptStr);

注: demo依赖了hutools的包,具体查看hutools的官方https://hutool.cn/

 

标签:encryptHex,aes,加密,String,乱码,key,java,decryptStr
From: https://www.cnblogs.com/zhangdf/p/16851663.html

相关文章

  • JavaWeb期中考试-2019年版总结
    关于这次2019年期中考试的练习,我想对它进行一个总结,首先,对于完全没有接触过javaweb的我来说,只是在课上听建民老师提了一下要做这个东西,因此在一开始只是先学着怎么画html......
  • JAVA++:HashMap无序?TreeMap有序?
    书上说HashMap是无序的,TreeMap是有序的(有序无序是针对key的),但是实际去敲的时候发现不是这样,有时HashMap是有序的,有时TreeMap是无序的。于是就做了以下测试来探究:......
  • java EE开发之Servlet第四课:监听器(Listener)
     1.什么是Listener监听器就像老板的秘书,那个秘书就是活的监听器,时时监听着老板,当老板发生一些事情的时候,秘书就会有相应的措施。比如老板口渴了,秘书就会去端茶;比如老板要......
  • JavaWeb期中考试-2019年版(六)
    本次是JavaWeb期中考试最后一个部分,系统更新和数据显示的代码分享首先是updateq.jsp<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncodi......
  • java.lang.ClassCastException: Ljava.lang.Object; cannot be cast to com.entity.XX
    以下为大神的经验:今天一不小心就碰到了这样的问题,以前从来没有碰到过,在网上搜了很多办法,思路正确,但是还是要根据自己的程序改变。 一开始写的是hql语句进行统计每个月......
  • Java中List.forEach()方法使用
    一、创建集合List<String>list=newArrayList<>();list.add("a");list.add("b");list.add("c");list.add("d");//lambda表达式二、正常遍历list.forEach(item->System......
  • 用java判断数据结构进出栈的顺序是否正确
    //通过flag判断出栈顺序是否正确importjava.util.*;publicclassE1{  /**   *@paramargsthecommandlinearguments   */  publicstati......
  • Java 程序实现私有构造函数
    转:Java程序实现私有构造函数  ......
  • 文件的相关操作(Java版)
    一、文件的概念文件是具有符号名的、在逻辑上具备完整意义的一组具备相关性的信息项的有序序列,可用于存储数据。其中信息项是构成文件内容的基本单位。除此之外。文件......
  • Javaio流学习
    创建文件的三种方式:1.packageyjtest.demo;importjava.io.File;importjava.io.IOException;publicclasstestcreate{publicstaticvoidmain(String[]args)throws......