乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Apache的加密算法和java自帶的加密算法

       然并卵書屋 2018-09-03

              最近研究了下加密的操作,自己本身對加密不是很熟悉,看了一下java對加密的一些操作,在這里總結(jié)一下。java從1.5之后提供了Base64Encoder和Base64Decoder。為大家用的普遍的方法先MD5加密然后base64編碼,代碼如下:

      01import java.io.UnsupportedEncodingException;
      02import java.security.MessageDigest;
      03import java.security.NoSuchAlgorithmException;
      04 
      05import org.apache.commons.codec.binary.Base64;
      06import org.apache.commons.codec.digest.DigestUtils;
      07 
      08import sun.misc.BASE64Encoder;
      09 
      10public class EncryptUtil {
      11    /**
      12     * 使用java原生(先MD5加密在base64編碼)
      13     *
      14     * @param str
      15     * @return
      16     */
      17    public static String MD5Encode(String str) {
      18        String newString = '';
      19        BASE64Encoder base64Encoder = new BASE64Encoder();
      20        try {
      21            MessageDigest digest = MessageDigest.getInstance('MD5');
      22            newString = base64Encoder.encode(digest.digest(str
      23                    .getBytes('utf-8')));
      24        } catch (NoSuchAlgorithmException e) {
      25            e.printStackTrace();
      26        } catch (UnsupportedEncodingException e) {
      27            e.printStackTrace();
      28        }
      29        return newString;
      30    }
      31 
      32    /**
      33     * 使用Apache的工具類
      34     * @param str
      35     * @return
      36     */
      37    public static String MD5Encode2(String str) {
      38        String newString = '';
      39        try {
      40            newString = Base64.encodeBase64String(DigestUtils.md5(str
      41                    .getBytes('utf-8')));
      42        } catch (UnsupportedEncodingException e) {
      43            e.printStackTrace();
      44        }
      45        return newString;
      46    }
      47 
      48    public static void main(String[] args) {
      49        System.out.println(EncryptUtil.MD5Encode('哆啦A夢'));
      50        System.out.println(EncryptUtil.MD5Encode2('哆啦A夢'));
      51    }
      52}

      看了下源碼,Apache的MD5加密底層用的是java的MessageDigest,使用起來較為方便。當然還對sha算法進行了封裝:

      01public String encode(String str) {
      02        try {
      03            Hex.encodeHexString(DigestUtils.md5(str));
      04            //查看源碼等價于
      05            DigestUtils.md5Hex(str);
      06             
      07            DigestUtils.shaHex(str);
      08             
      09            Hex.encodeHexString(DigestUtils.sha256(str));
      10            //查看源碼等價于
      11            DigestUtils.sha256Hex(str.getBytes('utf-8'));
      12             
      13            DigestUtils.sha384Hex(str);
      14            DigestUtils.sha512Hex(str);
      15        } catch (UnsupportedEncodingException e) {
      16            e.printStackTrace();
      17        }
      18        return str;
      19    }
      20}

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多