Java MD5 工具类_java md5工具-程序员宅基地

技术标签: java  开发语言  

MD5 的全称是 Message-Digest Algorithm 5(信息摘要算法),广泛应用在密码信息安全,后被证实无法防止碰撞,初步了解即可。

import sun.misc.BASE64Encoder;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.Base64;

public class Test1 {
    

    public static void main(String[] args) {
    
        String password = "admin#2022";

        try {
    
            MessageDigest md = MessageDigest.getInstance("md5");
            // md5 计算摘要
            byte[] bytes = md.digest(password.getBytes("UTF-8"));
            System.out.println(Arrays.toString(bytes));

            // BASE64 编码:a-z A-Z 0-9 / *
            // JDK 1.8 Base64
            String mdBase64Str = Base64.getEncoder().encodeToString(bytes);
            System.out.println("md5 加密后:" + mdBase64Str );

            // JDK 1.7
            BASE64Encoder base64Encoder = new BASE64Encoder();
            mdBase64Str = base64Encoder.encode(bytes);

            System.out.println("md5 加密后:" + mdBase64Str );

            // Base64 解码
            bytes = Base64.getDecoder().decode(mdBase64Str);
        } catch (NoSuchAlgorithmException e) {
    
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
    
            e.printStackTrace();
        }

    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_47076538/article/details/129353918

智能推荐

一、MFC介绍-程序员宅基地

文章浏览阅读1.2w次,点赞36次,收藏43次。1)afx.h将其他MFC头文件包含在内(2)afxwin.h包含了各种MFC窗口类,包含了afx.h和windows.h(3)afxext.h包含了扩展窗口类的支持,如工具栏和状态栏。_mfc

NETCF开发之文件压缩和解压缩_listview解压-程序员宅基地

文章浏览阅读1.9k次。当需要在网上传送数据的情况下压缩是极其有用的,特别是对于非常慢且代价昂贵的网络,例如GPRS连接。在这种情况中,使用压缩能够极大地缩小数据尺寸并且减少整个通讯耗费。Web Service是另一个领域-此时,使用压缩能提供巨大的优点,因为XML数据能被高度压缩。由于.NET Compact Framework 2.0没有支持命名空间System.IO.Compression,所以在NETCF上开_listview解压

NAT技术及应用_pnat-程序员宅基地

文章浏览阅读4.4k次。之前我们讨论了, IPv4协议中, IP地址数量不充足的问题。 (对于IP协议请看文章这里写链接内容) 我们再来了解一个技术:NAT技术(网络地址转换)什么是NATNAT技术是当前解决IP地址不够用的主要手段, 是路由器的一个重要功能。NAT能够将私有IP对外通信时转为全局IP. 也就是就是一种将私有IP和全局IP相互转化的技术方法。简单点说,就是在局域网中使用内部地址,..._pnat

从零开始构建一个电影知识图谱,实现KBQA智能问答[上篇]:本体建模、RDF、D2RQ、SPARQL endpoint与两种交互方式详细教学_rdb2rdf-程序员宅基地

文章浏览阅读522次。从零开始构建一个电影知识图谱,实现KBQA智能问答[上篇]:本体建模、RDF、D2RQ、SPARQL endpoint与两种交互方式详细教学_rdb2rdf

Linux 防火墙开放特定端口 (iptables)_防火墙放开指定端口 linux iptables-程序员宅基地

文章浏览阅读831次。iptables是linux下的防火墙,同时也是服务名称。service iptables status 查看防火墙状态service iptables start 开启防火墙service iptables stop 关闭防火墙service iptables restart _防火墙放开指定端口 linux iptables

python 实现输入一个小于1000的整数,对其进行因式分解_编写程序,用户从键盘输入小于1000的整数,对其进行因式分解-程序员宅基地

文章浏览阅读1.1w次,点赞10次,收藏50次。编写程序,用户从键盘输入一个小于1000的整数,对其进行因式分解。例如:10=2 X 5 ; 60 = 2 X 2 X 2 X 3 X 5实现这个小程序,主要使用到的思想就是一个简单的递归思想。用户输入一个整数,接收整数,之后把整数传入到递归函数中,使用递归函数计算出该整数的所有最简因式。def index(n): global list1 for i in range(2, n+1): if n % i == 0: # 找出n中最小的因式 _编写程序,用户从键盘输入小于1000的整数,对其进行因式分解

随便推点

vi简介-程序员宅基地

文章浏览阅读531次。vi_vi简介

Android 在使用SmartRefreshLayout遇到的点点滴滴_could not find com.scwang.smartrefresh:smartrefres-程序员宅基地

文章浏览阅读9.7k次。记录错误_could not find com.scwang.smartrefresh:smartrefreshlayout:1.1.0-alpha-18

一键关闭win10防火墙拦截更新等小工具-程序员宅基地

文章浏览阅读5.8k次。简介:秒关闭win10防火墙拦截更新清爽简单的一款小工具,可以帮助你一键关闭Windows以及烦人的系统自动更新,WIN10防火墙自动删除软件网盘下载地址:http://www.bytepan.com/AkejxHdvOCe_一键关闭win10防火墙拦截更新等小工具

PAT 乙级 1008 数组元素循环右移问题 (20分)(JAVA版,随遇C)_pat乙级1008java-程序员宅基地

文章浏览阅读147次。1008数组元素循环右移问题(20分)一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换为(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔.._pat乙级1008java

linux kvm虚拟机img文件挂载到宿主机_kvm导入img镜像-程序员宅基地

文章浏览阅读1.5k次。在使用虚拟化的过程中,难免会遇到虚拟机异常导致无法启动等故障,这时候如何从虚拟机的img中将重要文件或数据拷贝出来显得尤为重要,今天介绍一下利用qemu-nbd的方式将img文件挂载到宿主机。需要注意的是,目前仅针对于img文件类型为qcow2的做过测试。1. 检测img文件的类型: file test.img test.img: Qemu Image, Format:_kvm导入img镜像

我的vim和emacs配置文件(2014-05-19更新)_vim/emacs cursor配置-程序员宅基地

文章浏览阅读6.7k次,点赞5次,收藏3次。vimrc:"cnsworder setcolorscheme ronsyntax onset nobackupset tabstop=4set softtabstop=4set shiftwidth=4set expandtabset autoindentset numberset laststatus=2source $VIMRUNTIME/ftplugin/m_vim/emacs cursor配置