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()));
分享到:
相关推荐
1、资源特点 全新整理:今年全新力作,手工精心打磨。 权威数据:数据来自权威渠道,精准可靠。 放心引用:杜绝数据造假,品质保证。 2、适用人群 在校专科生、本科生、研究生、大学教师、学术科研工作者 3、适用专业 经济学、地理学、城市规划、公共政策、社会学、商业管理、工商管理等
资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持
_三维电容层析成像传感器优化及循环流化床提升管轴向流动成像
## 一、数据介绍 数据名称:ESG“同群效应” 数据年份:2010-2022年 样本数量:44124条 数据说明:包含同群企业的ESG、E、S、G得分 测算方法:与焦点企业处于同一细分行业(或者省份),计算其它企业ESG得分平均值和中位数 数据来源:Bloomberg ESG 指数
## 数据指标说明 参照霍春辉等(2023)的做法,团队对上市公司-数字化转型“同群效应”进行测算。将同行业、同省的其他企业定义为同群企业,并以该群体数字化转型程度均值、中位数作为衡量 原始的3种数字化转型程度数据,来自企业数字化转型-年度报告175个词频、文本统计(详见前文) ## 一、数据介绍 数据名称:数字化转型“同群效应” 数据年份:2000-2023年 样本数量:63766条 数据说明:其中A为吴非的76个数字化相关词频和,B为赵宸宇的99个相关词频和,C为甄红线的139个相关词频和 测算方法:与焦点企业处于同一细分行业(或者省份),计算其它企业数字化转型水平均值和中位数 数据来源:企业数字化转型-年度报告314个词频、文本统计
一个连连看小游戏。JavaScript语言,不使用任何游戏引擎,不依赖任何外部程序,无需安装node.js,不需要http服务,只需双击index.html文件即可运行 代码详细说明请参考下列链接: https://blog.csdn.net/m0_70494097/article/details/145080315?spm=1001.2014.3001.5501
轻量级CTF比赛平台-最新开发(含源码+项目说明+功能模块介绍).zip 【资源说明】 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!
《基于 pygame 和 python 的 UI 的跳棋游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
《基于 Pygame 的战斗机游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
内容概要:本文介绍了基于MATLAB实现的SSA-ELM多输入单输出回归预测系统,详细探讨了极限学习机(ELM)及其通过麻雀搜索算法(SSA)优化的过程,旨在提升模型预测精度和稳定性。文章涵盖了从模型架构、参数优化、训练和预测的全过程,并通过实例代码展示了SSA优化ELM的具体应用。通过这种方法,模型可以在高维、多指标条件下保持高性能,提供直观易用的GUI界面,简化复杂回归预测的操作流程。 适合人群:对机器学习、尤其是神经网络及其优化方法有一定了解的研发人员和技术爱好者,希望深入理解和实践极限学习机及其优化技术的学者。 使用场景及目标:该项目适用于需要高精度和快速响应的多输入单输出回归预测任务,如金融市场的趋势分析、制造业的产品质量预测、医疗健康的状况监控等。其目的是通过优化模型参数,减少预测误差,提高决策准确性。 其他说明:文中附带了详细的代码示例以及模型效果预测图的绘制代码,便于读者动手实践并验证模型的有效性。
springboot项目医院资产设备管理系统,含有完整的源码和报告文档
资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持
odbc资源描述
springboot项目小型药店管理系统,含有完整的源码和报告文档
内容概要:本文档详细介绍了使用MATLAB实现基于改进鲸鱼优化算法(GSWOA)优化变分模态分解(VMD)算法进行时间序列信号分解的全过程。项目背景阐述了时间序列数据的重要性和挑战。随后描述了采用GSWOA优化VMD参数以提升分解精度的原因,并介绍了具体的项目实施步骤。包括信号预处理、参数优化、信号分解、结果分析等核心模块,同时提供了详细的算法流程和程序设计指导。此外,还设计了便于使用的图形用户界面(GUI)。项目适用于金融预测、气象预报、医疗信号处理等领域。 适合人群:具备一定MATLAB编程经验和信号处理基础知识的研发人员和技术人员。 使用场景及目标:该项目旨在提高时间序列信号的分解精度与效率,特别适用于处理复杂和非平稳的金融、气象、医疗等时间序列数据。通过优化关键参数,确保分解过程更加高效可靠,为用户提供强有力的工具支持。 其他说明:项目代码完整详尽,包含多个实用的功能模块和测试案例,为开发者提供了丰富的参考资料和实战指南。同时,文档附带大量图表辅助说明概念,有助于初学者逐步掌握并应用这套方法论。
《基于 pygame 的游戏项目(对抗地心引力)》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
数字疗法-数字技术与循证医学驱动下的数字医疗变革
1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等,可直接用于毕设、课设、作业、比赛、学习 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用! 提供项目开发过程中所有资料、很优质得项目。
资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持
区块链排行榜-基于Cosmos SDK和Tendermint实现的应用(含设计报告及说明文档).zip 【资源说明】 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!