MD5 加密和 BASE64 编码

package com.yawn.security;

import java.security.MessageDigest;
import java.util.Base64;

public class Encrypter {

 public static String md5Encrypt(String str) throws Exception {
  
  MessageDigest md5 = MessageDigest.getInstance("MD5");
  // MD5 编码
  byte[] result = md5.digest(str.getBytes("utf-8"));
  // BASE64 编码
  String base64Code = Base64.getEncoder().encodeToString(result);
  
  return base64Code;
  
//  return Base64.getEncoder().encodeToString(MessageDigest.getInstance("MD5").digest(str.getBytes("utf-8")));
 }
}

jdk 1.8 提供了新的 base64 编码解码方式,应用简单。

用户密码经过加密之后,可储存在数据库中,由于MD5是单向加密,所以比对密码时,需要将用户输入的密码再经过此加密算法加密,然后进行比对即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏kl的专栏

Feign-声明式java Http客户端

Feign 是Netfilx开源的一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持...

5045
来自专栏开发与安全

linux网络编程之共享内存简介和mmap 函数

一、共享内存简介 共享内存区是最快的IPC形式,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。 ? 即每个...

1990
来自专栏编程坑太多

『高级篇』docker之课程管理dubbo入门操练(14)

PS:dubbo的入门也就到这里,从spring 和springboot 对dubbo的整合。 流程基本之前也说,api 建立接口,provider 实现接口,...

882
来自专栏芋道源码1024

注册中心 Eureka 源码解析 —— 网络通信

本文主要分享 Eureka 的网络通信部分。在不考虑 Eureka 2.x 的兼容的情况下,Eureka 1.x 主要两部分的网络通信:

872
来自专栏玩转JavaEE

Spring Cloud中Hystrix的请求缓存

高并发环境下如果能处理好缓存就可以有效的减小服务器的压力,Java中有许多非常好用的缓存工具,比如Redis、EHCache等,当然在Spring Cloud的...

3448
来自专栏ImportSource

Zipkin和微服务链路跟踪

本期分享的内容是有关zipkin和分布式跟踪的内容。 首先,我们还是通过spring initializr来新建三个项目。一个zipkin service。另外...

2.8K10
来自专栏开发与安全

linux网络编程之socket(七):一个进程发起多个连接和gethostbyname等函数

一、在前面讲过的最简单的回射客户/服务器程序中,一个客户端即一个进程,只会发起一个连接,只要稍微修改一下就可以让一个客户端发起多个连接,然后只利用其中一个连接发...

2260
来自专栏会跳舞的机器人

Spring Cloud(5)——熔断器

Hystrix熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

1063
来自专栏LeetCode

<JVM> 关于GC的一些文章链接

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html

620
来自专栏SDNLAB

码农学ODL之Toaster代码解析

Toaster(烤面包机)是OpenDaylight的一个例子,该例子的目的不是让你如何烤面包,而是借这个例子学习OpenDaylight的特性。在Toaste...

3826

扫码关注云+社区