zoukankan      html  css  js  c++  java
  • Java Base64加密解密例子

    package cn.ljs.util;
    
    import java.io.UnsupportedEncodingException;
    import java.util.ArrayList;
    import java.util.Base64;
    import java.util.Base64.Decoder;
    import java.util.Base64.Encoder;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * @author Miracle Luna
     * @version 1.0
     * @date 2019/7/3 18:55
     */
    public class Base64Util {
        public static void main(String[] args) throws UnsupportedEncodingException {
            String sotcbb = "sotcbb_";//自定义盐值
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("id", "1");
            map.put("name", "地铁");
            Map<String, Object> map1 = new HashMap<String, Object>();
            map1.put("id", "2");
            map1.put("name", "公交车");
            List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
            list.add(map);
            list.add(map1);
            for (int i = 0; i < list.size(); i++) {
                map = list.get(i);
                String aString = null;
                try {
                    aString = Base64Util.encoder(sotcbb+(String) map.get("name"));
                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                System.out.println("编码:"+aString);
                map.put("name", aString);
            }
            System.out.println("编码:"+list);
            
            for (int i = 0; i < list.size(); i++) {
                map = list.get(i);
                String aString = null;
                try {
                    aString = Base64Util.decoder((String) map.get("name"));
                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                System.out.println("解码:"+aString.split("_")[1]);
                map.put("name", aString.split("_")[1]);
            }
            System.out.println("解码:"+list);
            
            String string = "李某";
            String eString = "5p2O5p+Q";
            System.out.println(string+"<---编码--->"+Base64Util.encoder(string));
            System.out.println(eString+"<---解码--->"+Base64Util.decoder(eString));
        }
    
        /**
         * base64编码
         * @param string
         * @return
         * @throws UnsupportedEncodingException
         */
        public static String encoder(String string) throws UnsupportedEncodingException {
            Encoder encoder = Base64.getEncoder();
            byte[] textByte = string.getBytes("UTF-8");
            return encoder.encodeToString(textByte);
        }
        
        /**
         * base64解码
         * @param string
         * @return
         * @throws UnsupportedEncodingException
         */
        public static String decoder(String string) throws UnsupportedEncodingException {
            Decoder decoder = Base64.getDecoder();
            return new String(decoder.decode(string), "UTF-8");
        }
    }
  • 相关阅读:
    求树中两个节点的最低公共祖先
    [2014校招笔试]判断单链表是否有环?
    二叉树的遍历
    求所有划分集合
    用rand5()生成rand(n)
    由等概率生成的0和1构建rand()函数
    等概率生成0和1
    求输出和为n的所有连续自然数序列
    求正整数n的所有因子
    css 2D转换总结
  • 原文地址:https://www.cnblogs.com/ljmm/p/12627563.html
Copyright © 2011-2022 走看看