`

加密2

 
阅读更多

package com.lot.common.util;

import java.security.*;
import java.security.interfaces.RSAPublicKey;

/**
 *
 * <p>Title: </p>
 * <p>Description: 加密类</p>
 * <p>Copyright: Copyright (c) 2011 版权</p>
 * <p>Company: </p>
 * @author kevin
 * @version V1.0
 * @date 2011-6-10下午02:26:39
 */
public class EncryptUtil {
 /**
  *
  * @author: kevin
  * @Title getEncrypt
  * @Time: 2011-6-10下午02:26:59
  * @Description: SHA256位加密
  * @return: String
  * @throws:
  * @param strSrc
  * @return
  */
    public String getSHA256Encrypt(String strSrc) {
        MessageDigest md = null;
        String strDes = null;

        byte[] bt = strSrc.getBytes();
        try {
            md = MessageDigest.getInstance("SHA-256");
            md.update(bt);
            strDes = bytes2Hex(md.digest());
        }
        catch (NoSuchAlgorithmException e) {
            return null;
        }
        return strDes;
    }

    /**
     *
     * @author: kevin
     * @Title getMD5Encrypt
     * @Time: 2011-6-10下午02:29:14
     * @Description: MD5加密
     * @return: String
     * @throws:
     * @param strSrc
     * @return
     */
    public String getMD5Encrypt(String strSrc) {
        MessageDigest md = null;
        String strDes = null;

        byte[] bt = strSrc.getBytes();
        try {
            md = MessageDigest.getInstance("MD5");
            md.update(bt);
            strDes = bytes2Hex(md.digest());
        }
        catch (NoSuchAlgorithmException e) {
            return null;
        }
        return strDes;
    }
   
    /**
     *
     * @author: kevin
     * @Title bytes2Hex
     * @Time: 2011-6-10下午02:27:13
     * @Description:
     * @return: String
     * @throws:
     * @param bts
     * @return
     */
    public String bytes2Hex(byte[]bts) {
        String des = "";
        String tmp = null;
        for (int i = 0; i < bts.length; i++) {
            tmp = (Integer.toHexString(bts[i] & 0xFF));
            if (tmp.length() == 1) {
                des += "0";
            }
            des += tmp;
        }
        return des;
    }

    /**
  *
  * @author: Yolanda.qin
  * @Title 加密卡号
  * @Time: 2011-6-18上午10:13:39
  * @Description:
  * @return: 加密后的卡号
  * @throws: Exception, EncryptException
  * @param cardno 卡号
  */
    public String getCardNoRSA(String cardno)throws Exception, EncryptException {
        /**
         * 在web容器中,baseURL路径获取是 "*.war/WEB-INF/classes/"
         */
//        String keyUrl = baseURL.getPath() + "../rsa/";

        //调用,getClass().getResource("/")= "classes/"
        String keyUrl = getClass().getProtectionDomain().getCodeSource().getLocation().getPath() + "../rsa/";//

        System.out.println("keyUrl = " + keyUrl);
        RSAPublicKey Public = (RSAPublicKey) RSAUtil.ReadObject(keyUrl + "RSAPublicKey_20091204.dat");


        long startTime = System.currentTimeMillis();
         //加密
        String srcRSA_encrypt = RSAUtil.encrypt(Public, cardno);

        long endTime1 = System.currentTimeMillis();


        return srcRSA_encrypt;

    }
   
    public static void main(String[]args) {
        EncryptUtil te = new EncryptUtil();
        String strSrc = "admin123";
        System.out.println("Source String:" + strSrc);
        /*System.out.println("Use MD5:(32个字符)" + te.getEncrypt(strSrc, "MD5"));
        System.out.println("Use SHA1:(40个字符)" + te.getEncrypt(strSrc, "SHA-1"));
        System.out.println("Use SHA-256:(64个字符)" + te.getEncrypt(strSrc, "SHA-256"));
        System.out.println("Use SHA-384:(96个字符)" + te.getEncrypt(strSrc, "SHA-384"));
        System.out.println("Use SHA-512:(128个字符)" + te.getEncrypt(strSrc, "SHA-512"));*/
       
        System.out.println("Use SHA-256:(64个字符)" + te.getSHA256Encrypt(strSrc));
    }
}

 

 

----------------------------------------------------例子-------------------------------------------------------------------------

1.0

   EncryptUtil sha = new EncryptUtil();
   loginInfo.setLoginPass(sha.getSHA256Encrypt(loginInfo
     .getLoginPass()));
   param.add(loginInfo.getLoginPass().trim());
   param.add(loginInfo.getLoginName().trim());
   param.add(loginInfo.getMerNo().trim());

 

2.0

    //成功后,保存虚拟帐户信息
    String virtualAccount = user.getAdminInfo().getMchInfo().getVirtualAccount();
    user.setVaNO(virtualAccount);
    user.setPid(PID);
    //平台ID+平台KEY+虚拟账号
    user.setKey(new EncryptUtil().getSHA256Encrypt(PID+KEY+user.getVaNO()));

 

分享到:
评论

相关推荐

    国密加密 SM2加密 c# 源码

    国密加密 SM2加密 c# 源码 可执行 测试通过

    文件夹加密超级特工

    高强度文件夹加密、文件加密 2.文件加密、文件夹加密、文件夹加密隐藏保护管理 3.超级加密防拷贝、防删除、防病毒 4.万能文件加密锁 5.可执行文件密码锁 6.文件夹加密数据底层保护 7.特工加密软件系统加强型保护 8....

    Android加密之全盘加密详解

    2 应用安全性 3 应用签名 4 身份验证 5 Trusty TEE 6 SELinux 7 加密 等等 其中,加密又分全盘加密(Android 4.4 引入)和文件级加密(Android 7.0 引入),本文将论述加密中的全盘加密的基本知识。全盘加密在 ...

    企业级程序苏林加密系统 php加密的程序源码 sg11加密 xend加密 goto加密等

    苏林加密系统是一款专门为php加密的程序,支持sg11加密、xend加密、goto加密、Leave加密、enphp加密、NoName加密 可以发展用户,可以设置某加密价格,支持API接口加密,对接官方支付、码支付和易支付。 更新记录:...

    tencentyun#qcloud-documents#服务端加密2

    简介本文档提供关于如何使用在上传对象时开启服务端加密。服务端加密的密钥分为三种:COS 托管加密密钥KMS 托管加密密钥客户提供的加密密钥SDK 所有接口的具体

    常见加密算法方式(对称加密和非对称加密)

    - **MD2、MD4、MD5**:一组消息摘要算法,其中MD5最为常见,但由于存在碰撞攻击的弱点,已不再推荐使用。 - **SHA(Secure Hash Algorithm)、SHA-1**:安全哈希算法系列,SHA-1曾广泛使用,但现在也被认为存在安全...

    Rockey2加密锁R2飞天加密锁读狗工具

    Rockey2加密锁R2飞天加密锁读狗工具.rar

    易语言 rsa加密 易语言 rsa加密易语言 rsa加密

    易语言 rsa加密 易语言 rsa加密易语言 rsa加密

    C#实现SM2国密加密

    C#实现SM2国密加密

    国密SM2前端js加密,后端加密解密

    国密SM2前端js加密,后端加密解密,publicKey转ECPublicKeyParameters,privateKey转ECPrivateKeyParameters 包括前端加密所需的js文件和后端加解密方法、jar包。

    加密记事本 加密记事本加密记事本

    加密记事本加密记事本加密记事本加密记事本

    android RSA2加密解密

    android RSA2加密解密,里边提供两个方法,一个是生成公有私有秘钥加密解密,另一个是加密解密

    非对称加密和对称加密混合应用

    6.用对方的公钥对称密钥进行加密(加密密钥) 7.将密文(5)和加密密钥(6)一起发给对方 接收方: 1.用自己的私钥对加密密钥进行解密,得到对称密钥--也只有自己才能解密。 2.用对称密钥对密文进行解密,得到...

    对称加密 非对称加密 需要的jar包

    2. **commons-codec-1.10.jar**:Apache Commons Codec库,它提供了各种编码和解码算法,包括Base64和Hex编码,这些在加密过程中常用于将二进制数据转换为可打印的字符序列,以便在网络传输或存储时使用。...

    POST提交数据加密

    在这个场景中,我们关注的是如何加密POST请求中的数据,以及如何通过工具如HttpWatch来查看这些加密数据。下面我们将深入探讨POST提交数据加密的原理、方法以及HttpWatch工具的使用。 首先,POST方法是HTTP协议中...

    代理重加密代码

    2. **加密过程**:Alice使用Bob的公钥B_pk对消息M进行加密,得到密文C。 3. **重加密**:代理收到Alice的密文C和相关的重加密策略,使用自己的专用算法将C重加密为一个新的密文C',使得C'只能由Bob的私钥B_sk解密。...

    手动加密测试脚本_加密_encryption_测试加密_

    2. 透明加密: 透明加密是一种用户在操作数据时无感知的加密方式,数据在写入存储介质时自动加密,在读取时自动解密。这种方式降低了加密的复杂性,用户无需了解加密过程,就能确保数据的安全。例如,文件系统级别...

    DB2存储过程加密工具与使用手册

    2. 加密操作与加密原理 A加密操作 图标可以看出来存储过程是否已经加密,如果已经加密不能再加密。 双击左边的树存储过程,存储过程名会自动到右边的输入框,再点击右边执行按钮进行完成加密。 B加密原理 1.把原...

    苏林加密系统_php加密程序源码_企业级程序.zip

    苏林加密系统是一款专门为php加密的程序,支持sg11加密、xend加密、goto加密、Leave加密、enphp加密、NoName加密 可以发展用户,可以设置某...2、修改数据库连接信息config.php 3、后台登录账户密码:admin/SuLin4188

    私房文件夹加密软件文件加密大师

    私房文件夹加密软件,保护您的重要文件和隐私安全文件夹加密、U盘加密、硬盘加密、移动硬盘加密、硬盘分区隐藏... 本软件全部能搞定。 快速下载:http://pan.baidu.com/s/1282Jn http://www.xzzcg.com/2040.html ...

Global site tag (gtag.js) - Google Analytics