`

加密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()));

 

分享到:
评论

相关推荐

    2004-2021年金融科技与企业创新(新三板上市公司证据)论文数据复刻更新(带Statado文件)-最新出炉.zip

    1、资源特点 全新整理:今年全新力作,手工精心打磨。 权威数据:数据来自权威渠道,精准可靠。 放心引用:杜绝数据造假,品质保证。 2、适用人群 在校专科生、本科生、研究生、大学教师、学术科研工作者 3、适用专业 经济学、地理学、城市规划、公共政策、社会学、商业管理、工商管理等

    《基于 PyGame 的太空入侵游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持

    _三维电容层析成像传感器优化及循环流化床提升管轴向流动成像.caj

    _三维电容层析成像传感器优化及循环流化床提升管轴向流动成像

    【重磅,更新!!!】ESG“同群效应”

    ## 一、数据介绍 数据名称:ESG“同群效应” 数据年份:2010-2022年 样本数量:44124条 数据说明:包含同群企业的ESG、E、S、G得分 测算方法:与焦点企业处于同一细分行业(或者省份),计算其它企业ESG得分平均值和中位数 数据来源:Bloomberg ESG 指数

    (2000-2023年)3种方式:数字化转型“同群效应”【重磅,更新!!!】

    ## 数据指标说明 参照霍春辉等(2023)的做法,团队对上市公司-数字化转型“同群效应”进行测算。将同行业、同省的其他企业定义为同群企业,并以该群体数字化转型程度均值、中位数作为衡量 原始的3种数字化转型程度数据,来自企业数字化转型-年度报告175个词频、文本统计(详见前文) ## 一、数据介绍 数据名称:数字化转型“同群效应” 数据年份:2000-2023年 样本数量:63766条 数据说明:其中A为吴非的76个数字化相关词频和,B为赵宸宇的99个相关词频和,C为甄红线的139个相关词频和 测算方法:与焦点企业处于同一细分行业(或者省份),计算其它企业数字化转型水平均值和中位数 数据来源:企业数字化转型-年度报告314个词频、文本统计

    纯Javascript写的连连看小游戏

    一个连连看小游戏。JavaScript语言,不使用任何游戏引擎,不依赖任何外部程序,无需安装node.js,不需要http服务,只需双击index.html文件即可运行 代码详细说明请参考下列链接: https://blog.csdn.net/m0_70494097/article/details/145080315?spm=1001.2014.3001.5501

    轻量级CTF比赛平台-最新开发(含源码+项目说明+功能模块介绍).zip

    轻量级CTF比赛平台-最新开发(含源码+项目说明+功能模块介绍).zip 【资源说明】 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!

    《基于 pygame 和 python 的 UI 的跳棋游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    《基于 pygame 和 python 的 UI 的跳棋游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计

    《基于 Pygame 的战斗机游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    《基于 Pygame 的战斗机游戏》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计

    MATLAB实现SSA-ELM麻雀搜索算法优化极限学习机多输入单输出回归预测(含模型描述及示例代码)

    内容概要:本文介绍了基于MATLAB实现的SSA-ELM多输入单输出回归预测系统,详细探讨了极限学习机(ELM)及其通过麻雀搜索算法(SSA)优化的过程,旨在提升模型预测精度和稳定性。文章涵盖了从模型架构、参数优化、训练和预测的全过程,并通过实例代码展示了SSA优化ELM的具体应用。通过这种方法,模型可以在高维、多指标条件下保持高性能,提供直观易用的GUI界面,简化复杂回归预测的操作流程。 适合人群:对机器学习、尤其是神经网络及其优化方法有一定了解的研发人员和技术爱好者,希望深入理解和实践极限学习机及其优化技术的学者。 使用场景及目标:该项目适用于需要高精度和快速响应的多输入单输出回归预测任务,如金融市场的趋势分析、制造业的产品质量预测、医疗健康的状况监控等。其目的是通过优化模型参数,减少预测误差,提高决策准确性。 其他说明:文中附带了详细的代码示例以及模型效果预测图的绘制代码,便于读者动手实践并验证模型的有效性。

    springboot项目医院资产设备管理系统.zip

    springboot项目医院资产设备管理系统,含有完整的源码和报告文档

    《利用 YOLOv9 和 DeepSORT 进行对象跟踪,并结合画线功能可视化被跟踪对象路径》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持

    psqlodbc的源码包省的到时候下载了

    odbc资源描述

    springboot项目小型药店管理系统.zip

    springboot项目小型药店管理系统,含有完整的源码和报告文档

    Matlab实现GSWOA-VMD改进鲸鱼优化算法优化变分模态分解时间序列信号分解的详细项目实例(含完整的程序,GUI设计和代码详解)

    内容概要:本文档详细介绍了使用MATLAB实现基于改进鲸鱼优化算法(GSWOA)优化变分模态分解(VMD)算法进行时间序列信号分解的全过程。项目背景阐述了时间序列数据的重要性和挑战。随后描述了采用GSWOA优化VMD参数以提升分解精度的原因,并介绍了具体的项目实施步骤。包括信号预处理、参数优化、信号分解、结果分析等核心模块,同时提供了详细的算法流程和程序设计指导。此外,还设计了便于使用的图形用户界面(GUI)。项目适用于金融预测、气象预报、医疗信号处理等领域。 适合人群:具备一定MATLAB编程经验和信号处理基础知识的研发人员和技术人员。 使用场景及目标:该项目旨在提高时间序列信号的分解精度与效率,特别适用于处理复杂和非平稳的金融、气象、医疗等时间序列数据。通过优化关键参数,确保分解过程更加高效可靠,为用户提供强有力的工具支持。 其他说明:项目代码完整详尽,包含多个实用的功能模块和测试案例,为开发者提供了丰富的参考资料和实战指南。同时,文档附带大量图表辅助说明概念,有助于初学者逐步掌握并应用这套方法论。

    《基于 pygame 的游戏项目(对抗地心引力)》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    《基于 pygame 的游戏项目(对抗地心引力)》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计

    数字疗法-数字技术与循证医学驱动下的数字医疗变革

    数字疗法-数字技术与循证医学驱动下的数字医疗变革

    麦克风阵列声源定位算法研究(MATLAB源码+项目说明+设计报告).zip

    1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等,可直接用于毕设、课设、作业、比赛、学习 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用! 提供项目开发过程中所有资料、很优质得项目。

    《基于 pygame 的各种 python 游戏的集合》(毕业设计,源码,教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持

    区块链排行榜-基于Cosmos SDK和Tendermint实现的应用(含设计报告及说明文档).zip

    区块链排行榜-基于Cosmos SDK和Tendermint实现的应用(含设计报告及说明文档).zip 【资源说明】 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!

Global site tag (gtag.js) - Google Analytics