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");
        }
    }
  • 相关阅读:
    位运算技巧2
    如果函数的参数是一个指针,不要指望用该指针去申请动态内存
    位运算 技巧1
    野指针?空指针?
    面试题:位操作实现四则运算
    面试题:递归颠倒栈 与栈排序
    求一个数任意位的值及位数
    基数排序
    面试题:最长回文子串(即求对称字符串的最大长度 )
    数据结构之后缀数组suffix array
  • 原文地址:https://www.cnblogs.com/ljmm/p/12627563.html
Copyright © 2011-2022 走看看