zoukankan      html  css  js  c++  java
  • java MD5 加密 及对应的 oracle数据库中的MD5加密实现

    ① JAVA MD5 加密:

     1 package com.test.util;
     2 
     3 import java.security.MessageDigest;
     4 import java.security.NoSuchAlgorithmException;
     5 
     6 import sun.misc.BASE64Encoder;
     7  
     8 public class CrytogramTool {
     9 
    10     /**
    11      * 使用指定算法加密指定字符串
    12      * @param message        待加密的字符串
    13      * @param algorithmName  加密算法
    14      * @return               加密后的字符串
    15      */
    16     public static String encryptStr(String message, String algorithmName){
    17         MessageDigest messageDigest = null;
    18         try {
    19             messageDigest = MessageDigest.getInstance(algorithmName);
    20         } catch (NoSuchAlgorithmException e) {
    21             e.printStackTrace();
    22         }
    23         messageDigest.reset();
    24         byte[] bytes = message.getBytes();
    25         byte[] out = messageDigest.digest(bytes);
    26         BASE64Encoder enc = new BASE64Encoder();
    27         return enc.encode(out);
    28     }
    29 }

    调用方法:CrytogramTool.encryptStr("待加密字串","MD5");

    ② ORACLE数据库端对应的实现:

       1. 先MD5加密

    CREATE OR REPLACE FUNCTION FUNC_ENCRYPT_MD5(PASSWD IN VARCHAR2) RETURN VARCHAR2 IS
      /****************************************************************
       NAME       :  FUNC_ENCRYPT_MD5
       PURPOSE    :  MD5加密,返回加密后的字符串
       PARAMETER  :  PASSWD   待加密字符串
       CREATED ON :  2014/04/21
       COMMENTS   :  
       AUTHOR     :  soryou
       ****************************************************************/
       RTNVAL VARCHAR2(32);
    BEGIN
       RTNVAL := UTL_RAW.CAST_TO_RAW(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => PASSWD));
       RETURN RTNVAL;
    END;

       2. 再BASE64

    V_STR:='';
    SELECT UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.BASE64_ENCODE(FUNC_ENCRYPT_MD5('待加密字串'))) INTO V_STR FROM  DUAL;

    最后,V_STR的值即为得到的加密后的字符串。

  • 相关阅读:
    Python实战之SocketServer模块
    CentOS出错You don't have permission to access on this server
    系统瓶颈分析
    loadrunner支持https协议的操作方法-经验总结
    Loadrunner上传与下载文件脚本
    Loadrunner之HTTP接口测试脚本实例
    Android界面性能调优手册
    Loadrunner11.0 录制手机App脚本的方法
    资源监控工具--spotlight
    Jmeter常见问题
  • 原文地址:https://www.cnblogs.com/suliang/p/3679829.html
Copyright © 2011-2022 走看看