java加密技术一(单向加密算法)

单向加密算法的Java实现 Java学习资料,心得,其中包括单向加密算法、jsp实现分页的步骤、Hibernate、Spring和Struts工作原理及使用理由.txt 立即下载

</pre>java加密之单向加密算法:MD5,SHA,HMAC。<p></p><p>一、MD5加密算法:</p><p></p><pre code_snippet_id="1747607" snippet_file_name="blog_20160706_2_8502972" name="code" class="java">/**
     * MD5加密算法
     *
     * @param data 要加密的数据
     */
    public static byte[] MD5Encrypt(byte[] data) {
        byte[] b = null;
        try {
            MessageDigest md = MessageDigest.getInstance(“MD5”);
            md.update(data);
            b = md.digest();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return b;
    }

二、SHA加密算法

/**
     * SHA加密算法
     *
     * @param data 要加密的数据
     */
    public static byte[] SHAEncrypt(byte[] data) {
        byte[] b = null;
        try {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(data);
            b = md.digest();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return b;
    }
三、HMAC加密算法

HMAC(Hash Message Authentication Code,散列消息鉴别码,基于密钥的Hash算法的认证协议。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中,然后传输。接收方利用与发送方共享的密钥进行鉴别认证等。

3.1、初始化秘钥

/**
     * 初始化HMAC秘钥
     *
     * @return
     */
    public static String iniHMACKey() {
        String key = "";
        try {
            KeyGenerator keyGenerator = KeyGenerator.getInstance(HMAC_KEY);
            SecretKey secretKey = keyGenerator.generateKey();
            BASE64Encoder encoder = new BASE64Encoder();
            key = encoder.encode(secretKey.getEncoded());
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return key;
    }
3.2、用HMAC的秘钥对数据进行加密
/**
     *
     * @param data 加密数据
     * @param key 秘钥
     * @return
     */
    public static byte[] HMACEncrypt(byte[] data, String key) {
        SecretKey secretKey = new SecretKeySpec(BASE64D(key), HMAC_KEY);
        byte[] b = null;
        try {
            Mac mac = Mac.getInstance(secretKey.getAlgorithm());
            mac.init(secretKey);
            b = mac.doFinal(data);

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (InvalidKeyException e) {
            e.printStackTrace();
        }
        return b;
    }




java简单加密方法 使用纯Java代码实现数据加密,DESede加密 及返回一个包含有 key(加密) fid(当前文件) name (文件/文件夹路径)的集合对象。可根据这个结果传到前台,通过jquery.ztree 或是dtree 直接生成文件夹结构的目录树 立即下载

相关推荐

Java实现常用加密算法&mdash;&mdash;单向加密算法MD5和SHA

本篇文章主要介绍了Java实现常用加密算法&mdash;&mdash;单向加密算法MD5和SHA,信息加密后数据更安全,需要的朋友可以参考下。

Java实现加密算法(一、单项加密)

本文主要对单向加密算法做个概况性的介绍,然后给出简单的加密算法 Java 实现(即MD5、SHA系列、Hmac)。​ 常用的单向加密算法介绍和简单应用就是这些,MD5和SHA系列比较简单,就算大量数据泄露也不会有影响,但是为了防止彩虹表攻击,所以有了Hmac的出现。 RipeMD-160,Java中并不能直接调用,所以需要导入Jar包,最后写RipeMD-160的原因是为了注册BouncyCastleBouncycastleProvider通知类,将提供的消息摘要算法注册至Security

q_qwp_p的博客 698

【脑电信号处理与特征提取】P2-夏晓磊:脑电的神经起源与测量

ElectroEncephaloGraphyTherefore, EEG produces a graphed representation of the electrical activity occurring in a person’s brain.(把一个人的大脑中的电活动画出来)脑电头皮表面记录到的大脑活动产生的电信号(微伏)。(记录位置:硬脑膜/大脑皮层表面- ECoG,神经元群- LFP与MUR/MUA:活动位置:心电、眼电、肌电等)脑电图电压随时间变化的波形图。

m0_51474171的博客 1893

公钥密码学的理论基础—单向函数

http://www.gucheng.com/bank/jjyh/2009-06-24/bank_20090624144842_1867521.html 1976年,Diffie W.和Hellman M.E.在他们的《密码学的新方向》一文中提出了公钥密码的概念。随后,在1978年,Rivest R.L.,Shamir A.和Adleman L.M.在其文《实现数字签名和公钥密码体制的一种方

c++自学 1万+

INCA_ProF脚本教程

一、首先INCA软件是当前主流标定开发软件之一,尤其在动力系统控制器的标定中应用非常广泛;与此同时ProF编程脚本是INCA软件提供各种实用功能之一,使用者可根据需求编写ProF脚本语言对ECU闪存编程等各种自定义操作。 二、然而ProF脚本语言在ETAS的官网或其他网络上并没有专门的使用教程,通常只有ETAS技术支持人员提供的ProF Documentation文档或少量可参考的Demo案例,然而ProF Documentation文档仅涉及ProF语言的函数的操作说明,没有从全局的框架上介绍Pro

weixin_29389627的博客 1万+

”COMSOL“竟然如此简单!我悟了!!

COMSOL Multiphysics具有强大的多物理场全耦合仿真分析功能、高效的计算性能,可以保证数值仿真的高度精确,已被广泛应用于各个学科领域,近年来运用COMSOL来解决电化学实际工程问题也越来越普遍。

C1012562281的博客 3447

JAVA几种简单的单向加密方式

本问只简要讲解在JAVA中如何使用几种加密的代码示例,关于加密算法和数学知识不在本文讨论范围。 package com.util; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.security.InvalidKeyException; import java.securi...

qq_32133405的博客 1998

TP-LINK电信定制摄像头刷机教程:解锁官方功能与固件升级

固件是嵌入式设备的操作系统,控制着硬件的基础功能。其工作原理是通过更新或替换存储在设备非易失性存储器中的程序代码,从而改变设备的行为和功能。这项技术的核心价值在于赋予用户对设备的完全控制权,能够解除厂商或运营商的软件限制,实现功能自定义、性能优化和安全更新。在智能家居、网络设备和物联网领域,固件升级与刷机是常见的工程实践,用于修复漏洞、增加新特性或适配不同平台。本文聚焦于利用TFTP恢复模式这一通用网络设备维护机制,针对TP-LINK电信定制版摄像头,提供一套完整的刷机方案,将设备刷入官方通用版固件,以解除

weixin_34205826的博客 484

Java中的各种加密算法

JAVA中为我们提供了丰富的加密技术。能够主要的分为单向加密和非对称加密1.单向加密算法单向加密算法主要用来验证传输数据的过程中。是否被篡改过。BASE64 严格地说,属于编码格式。而非加密算法MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash Algorithm。安全散列算法)HMAC(Hash Message Authenti...

weixin_30478619的博客 133

DySAT+: Enhancing Dynamic Graph Representation Learning with Multi-Head Self-Attention and Temporal-

本文深入探讨了DySAT+模型在动态图表示学习中的创新应用,通过多头时空注意力机制和层级信息融合策略,有效解决了动态图数据中的时间维度信息捕捉和结构演变动态适应问题。该模型在社交网络异常检测和金融交易网络分析等场景中表现出色,显著提升了预测准确率和响应速度。

weixin_29035405的博客 334

2023年高教社杯全国大学生数学建模竞赛 E 题:《黄河水沙监测数据分析》真题解析与 MATLAB 解决方案

🏆 本文已收录于专栏:《滚雪球学数学建模(含历年真题)》,持续更新最新及历年数学建模竞赛资料,每篇内容力求做到“问题讲透、模型讲清、代码可用、论文可参考”,帮助你从零开始逐步建立完整的数学建模知识体系。

**My Coding Family** 902

【Java系列】(六)Java中常用的加密方法---单向加密算法

加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些资料将加密直接分为对称加密和非对称加密)。    双向加密大体意思就是明文加密后形成密文,可以通过算法还原成明文。而单向加密只是对信息进行了摘要计算,不能通过算法生成明文,单向加密从严格意思上说不能

雨人的博客 2955

【ChangeCLIP】Remote sensing change detection with multimodal vision-language representation learning

ChangeCLIP论文及代码使用详解。持续更新变化检测最新论文,欢迎订阅本专栏。

向上生长的程序媛的博客 1333

Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC

如基本的单向加密算法:  BASE64 严格地说,属于编码格式,而非加密算法MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash Algorithm,安全散列算法)HMAC(Hash Message Authentication Code,散列消息鉴别码)     复杂的对称加密(DES、PBE)、非对称加密算法:  DES(

u014386474的博客 391

从菜鸟到大神:VSCode助力HTML开发全攻略

本文全面介绍 VSCode 在 HTML 开发中的高效应用。先引导读者完成 VSCode 的安装与个性化设置,助其快速适应开发环境;接着推荐 Live Server、Prettier 等实用插件,实现实时预览、代码格式化等功能,提升开发效率。通过详细的开发实战步骤,从新建文件到添加样式,带领读者掌握 HTML 基础结构与常用标签使用。还分享代码片段管理、多人协作等进阶技巧,解决常见开发问题。旨在帮助开发者利用 VSCode,轻松高效完成 HTML 开发,打造优质网页。

邓邓子的博客 3364

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 随机生成18位密码
下一篇: hql相关
rage_angel
博客等级 码龄12年 7粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值