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# 源码 可执行 测试通过
高强度文件夹加密、文件加密 2.文件加密、文件夹加密、文件夹加密隐藏保护管理 3.超级加密防拷贝、防删除、防病毒 4.万能文件加密锁 5.可执行文件密码锁 6.文件夹加密数据底层保护 7.特工加密软件系统加强型保护 8....
2 应用安全性 3 应用签名 4 身份验证 5 Trusty TEE 6 SELinux 7 加密 等等 其中,加密又分全盘加密(Android 4.4 引入)和文件级加密(Android 7.0 引入),本文将论述加密中的全盘加密的基本知识。全盘加密在 ...
苏林加密系统是一款专门为php加密的程序,支持sg11加密、xend加密、goto加密、Leave加密、enphp加密、NoName加密 可以发展用户,可以设置某加密价格,支持API接口加密,对接官方支付、码支付和易支付。 更新记录:...
简介本文档提供关于如何使用在上传对象时开启服务端加密。服务端加密的密钥分为三种:COS 托管加密密钥KMS 托管加密密钥客户提供的加密密钥SDK 所有接口的具体
- **MD2、MD4、MD5**:一组消息摘要算法,其中MD5最为常见,但由于存在碰撞攻击的弱点,已不再推荐使用。 - **SHA(Secure Hash Algorithm)、SHA-1**:安全哈希算法系列,SHA-1曾广泛使用,但现在也被认为存在安全...
Rockey2加密锁R2飞天加密锁读狗工具.rar
易语言 rsa加密 易语言 rsa加密易语言 rsa加密
C#实现SM2国密加密
国密SM2前端js加密,后端加密解密,publicKey转ECPublicKeyParameters,privateKey转ECPrivateKeyParameters 包括前端加密所需的js文件和后端加解密方法、jar包。
加密记事本加密记事本加密记事本加密记事本
android RSA2加密解密,里边提供两个方法,一个是生成公有私有秘钥加密解密,另一个是加密解密
6.用对方的公钥对称密钥进行加密(加密密钥) 7.将密文(5)和加密密钥(6)一起发给对方 接收方: 1.用自己的私钥对加密密钥进行解密,得到对称密钥--也只有自己才能解密。 2.用对称密钥对密文进行解密,得到...
2. **commons-codec-1.10.jar**:Apache Commons Codec库,它提供了各种编码和解码算法,包括Base64和Hex编码,这些在加密过程中常用于将二进制数据转换为可打印的字符序列,以便在网络传输或存储时使用。...
在这个场景中,我们关注的是如何加密POST请求中的数据,以及如何通过工具如HttpWatch来查看这些加密数据。下面我们将深入探讨POST提交数据加密的原理、方法以及HttpWatch工具的使用。 首先,POST方法是HTTP协议中...
2. **加密过程**:Alice使用Bob的公钥B_pk对消息M进行加密,得到密文C。 3. **重加密**:代理收到Alice的密文C和相关的重加密策略,使用自己的专用算法将C重加密为一个新的密文C',使得C'只能由Bob的私钥B_sk解密。...
2. 透明加密: 透明加密是一种用户在操作数据时无感知的加密方式,数据在写入存储介质时自动加密,在读取时自动解密。这种方式降低了加密的复杂性,用户无需了解加密过程,就能确保数据的安全。例如,文件系统级别...
2. 加密操作与加密原理 A加密操作 图标可以看出来存储过程是否已经加密,如果已经加密不能再加密。 双击左边的树存储过程,存储过程名会自动到右边的输入框,再点击右边执行按钮进行完成加密。 B加密原理 1.把原...
苏林加密系统是一款专门为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 ...