当前位置:   article > 正文

BASE64加密解密及乱码问题_base64util.decode

base64util.decode

相信很多小伙伴都使用过BASE64加密算法。之前在项目中遇到密码使用这种加密算法后呈现出来的乱七八糟的符号问题,这里提供下解决办法。其实加解密乱码的主要原因是文字的编码格式不对应造成的。只要在加密前解密后对字符按照一定的格式进行编码即可

   加密算法获取字节流时  res = new sun.misc.BASE64Encoder().encode(s.getBytes("GBK"));

  解密算法字节流转换字符串时:      return new String(b,"GBK");

  1. package com.util;
  2. import java.io.UnsupportedEncodingException;
  3. import sun.misc.BASE64Decoder;
  4. public class Base64Util {
  5. /**
  6. * 将字符串 s 进行 BASE64 编码
  7. */
  8. public static String encode(String s) {
  9. if (s == null)
  10. return null;
  11. String res = "";
  12. try {
  13. res = new sun.misc.BASE64Encoder().encode(s.getBytes("GBK"));
  14. } catch (UnsupportedEncodingException e) {
  15. // TODO Auto-generated catch block
  16. e.printStackTrace();
  17. }
  18. return res;
  19. }
  20. /**
  21. * 将 BASE64 编码的字符串 s 进行解码
  22. */
  23. public static String decode(String s) {
  24. if (s == null)
  25. return null;
  26. BASE64Decoder decoder = new BASE64Decoder();
  27. try {
  28. byte[] b = decoder.decodeBuffer(s);
  29. return new String(b,"GBK");
  30. } catch (Exception e) {
  31. return null;
  32. }
  33. }
  34. public static void main(String[] args) {
  35. System.out.println(Base64Util.encode("哈哈"));
  36. System.out.println(Base64Util.decode("uf65/g=="));
  37. }
  38. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/202864
推荐阅读
相关标签
  

闽ICP备14008679号