当前位置:在线工具>加密解密>在线MD5加密
手机访问

在线MD5加密


文件属性
文件名称
文件类型
文件大小
文件上一次修改时间
加密类型MD5加密结果
16 位小写
16 位大写
32 位小写 复制结果
32 位大写 复制结果
提示:“在线MD5加密”自动删除首尾空格。为了保护您的个人隐私和数据安全,MD5加密都在浏览器中进行。

Example PHP

示例 #1 PHP (PHP >= 4.0.1, PHP 5, PHP 7, PHP 8) 计算字符串的 MD5 散列值。

<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo "Would you like a green or red apple?";
}

Output of the above example in PHP 8.5.0: Would you like a green or red apple?

警告:由于此函数依赖的算法已不足够复杂,不推荐使用此函数对明文密码加密。详细内容参见 这里

Example Go

示例 #1 Go(Go >= 1.22.2)在 Go 语言中,你可以使用crypto/md5包来计算字符串的MD5哈希值。

package main

import (
    "crypto/md5"
    "fmt"
)

func main() {
    // 要计算MD5的字符串
    data := []byte("apple")
    // 计算MD5哈希值
    hash := md5.Sum(data)
    // 将字节切片转换为十六进制字符串
    fmt.Printf("%x", hash)
}

Output:1f3870be274f6c49b3e31a0c6728957f

示例 #2 Go 官方推荐使用 md5.New() 配合 Write() 和 Sum(nil) 的方式,这种方式直接返回 []byte。

package main

import (
    "crypto/md5"
    "fmt"
    "io"
)

func main() {
    // New 函数返回一个新的哈希值。该哈希值用于计算 MD5 校验和。
    h := md5.New()
    // 写入要计算MD5的字符串
    io.WriteString(h, "apple")
    // 直接返回 []byte,长度为 16
    hashSlice := h.Sum(nil)
    // 将字节切片转换为十六进制字符串
    fmt.Printf("%x", hashSlice)
}

Output:1f3870be274f6c49b3e31a0c6728957f

使用 hex.EncodeToString() 可将[]byte安全转为小写十六进制字符串。注意它不修改原数据,返回全新字符串。

fmt.Printf("%+v\n", hex.EncodeToString(hashSlice))

MD5说明

MD5:计算字符串的 MD5 散列值。

MD5,SHA1 以及 SHA256 这样的散列算法是面向快速、高效进行散列处理而设计的。随着技术进步和计算机硬件的提升, 破解者可以使用“暴力”方式来寻找散列码所对应的原始数据。因为现代化计算机可以快速的“反转”上述散列算法的散列值,所以很多安全专家都强烈建议,不要在密码散列中使用这些散列算法。

MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域。

MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

警告:由于此哈希算法的快速特性,不建议使用此功能来保护密码。