zoukankan      html  css  js  c++  java
  • java安全——BASE64

    这个主题主要是关于java安全的,应该来说算是个大杂烩吧,但是又不缺乏实用性,算是作为一个总结,用的时候可以作为参考。

    1、使用BASE64加解密

    在java加密技术中,BASE64算是一种最简单、最基本的加密技术。详见如下例子:

    import java.io.IOException;
    
    import Decoder.BASE64Decoder;
    import Decoder.BASE64Encoder;
    
    public class Base64Test {
      public static void main(String[] args) throws IOException{
          String data = "我是一个需要加密的数据";
          System.out.println("加密前:"+data);
          String data1 = encryptBASE64(data.getBytes());
          System.out.println("加密后:"+data1);
          byte[] data2 = decryptBASE64(data1);
          System.out.println("解密后:"+new String(data2));
      }
      
      private static String encryptBASE64(byte[] data){
          return(new BASE64Encoder()).encodeBuffer(data);
      }
      
      private static byte[] decryptBASE64(String data) throws IOException{
          return (new BASE64Decoder()).decodeBuffer(data);
      }
    }

    结果:

    加密前:我是一个需要加密的数据
    加密后:ztLKx9K7uPbQ6NKqvNPD3LXEyv2+3Q==
    
    解密后:我是一个需要加密的数据

    使用BASE64加密后的字符串个数都是4的倍数,一个字符占两个字节,也就是说BASE64加密以后的字符串必须是8个字节的倍数,如果不足,需要在后面补“=”号,所以很多时候能看到使用BASE64加密后的字符以“=”结束。

    使用BASE64加密后的字符串每隔76个字符都会插入一个回车符,所以即使明文很长,打印出来的密文也不会在一行显示。但是在解密时,这些回车符显得无足轻重,即使密文不含回车符也可以正常解密。

  • 相关阅读:
    win10下安装基于caffe的 Faster-Rcnn
    Caffe学习系列
    Caffe 分类问题 Check failed: error == cudaSuccess (2 vs. 0) out of memory
    Windows 10下安装配置Caffe并支持GPU加速(修改版)
    Python 基础语法
    Halcon 彩色图片通道分割处理
    halcon 特征测量
    川崎机器人c#通讯(转)
    Halcon 2D测量
    Halcon 1D测量
  • 原文地址:https://www.cnblogs.com/zengdan-develpoer/p/3925152.html
Copyright © 2011-2022 走看看