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 条评论
登录 后参与评论

相关文章

来自专栏小狼的世界

如何使用GunPGP加密Apple Mail的邮件

我和火星人也很好奇如何能够更安全的传输邮件,所以决定试一试。他的环境是 Linux Ubuntu ,我的环境是 Mac OS X Lion。

763

获得具有商业签名的TLS证书

如果您打算托管一个可公开访问的使用HTTPS的网站,那么您将需要安装一个具有商业签名的TLS证书,这样访问您网站的人就不会在浏览器中收到有关不安全连接的警告。

563
来自专栏Hadoop实操

如何在CDH实现HDFS透明加密

在前面文章Fayson介绍过《什么是HDFS透明加密》,要实现HDFS的透明加密,首先你需要一个KMS,KMS可以用CDH自带的Java KeyStore KM...

3227
来自专栏ml

linux开关端口问题

linux开关端口问题: 我们知道一些常用的端口,比如mysql的端口为3306,sql的端口为:1433,以及tomcat的端口为 8008等等一样! ...

4136
来自专栏MixLab科技+设计实验室

Nodejs全栈之nginx配置文件

最近倒腾了下阿里云的ECS,用的nodejs+nginx+monogodb; 写一个系列的小tips记录吧。 1、上传文件大小 client_max_body_...

2876
来自专栏阮一峰的网络日志

GPG入门教程

前两篇文章,我介绍了RSA算法。 今天,就接着来看,现实中怎么使用这个算法,对信息加密和解密。这要用到GnuPG软件(简称GPG),它是目前最流行、最好用的加密...

3357
来自专栏Pythonista

Linux之RPM GPG签名

原文地址:http://linux.chinaunix.net/techdoc/system/2007/09/26/968723.shtml

623
来自专栏Laoqi's Linux运维专列

日常运维管理(三)

一、网络相关 : yum install -y net-tools #ifconfig -a :查看全部的网卡信息 在centOS 7 中,我们使用的网卡为en...

2785
来自专栏Android Note

配置统一的build.gradle

936
来自专栏Java3y

Elasticsearch就是这么简单

一、前言 最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词。接着在了解全文搜索的时候就发现了Elasticsearch这个,他...

4799

扫描关注云+社区