首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP md5() 函數參數詳解與雜湊長度控制

     編輯:PHP 相關知識

md5() 核心語法與參數

string md5 ( string $str [, bool $raw_output = false ] )

參數說明

  • $str: 要計算雜湊的字串。
  • $raw_output:
    • TRUE:輸出 16 字元原始二進制格式。
    • FALSE(預設):輸出 32 字元十六進制字串。

輸出範例

<?php
$str = "123456";

echo 'md5 16位(二進制):' . md5($str, true) . "<br>";
// 輸出亂碼(二進制不可直接顯示)

echo 'md5 32位(十六進制):' . md5($str) . "<br>";
// 輸出:e10adc3949ba59abbe56e057f20f883e
?>

PHP 4 相容:手動轉換為 16 字元二進制

function bin_md5($val) {
    return pack("H32", md5($val));
}

安全性警示

  • MD5 已脆弱: 存在碰撞攻擊,嚴禁用於密碼儲存、簽名驗證等安全場景。
  • 密碼雜湊請用: password_hash()(BCrypt/Argon2)或 hash('sha256', ...) 搭配鹽值。
  • 適用場景: 非安全性檢查和、快取鍵生成、資料完整性校驗(非防竄改)。

MD5 速度極快,適合作為非安全用途的指紋生成,任何涉及認證授權的場景請改用慢速雜湊演算法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved