php中md5函數使用實例代碼(md5函數)

本文目錄一覽:

使用php來進行MD5加密的實例代碼

一般是網站註冊吧。

?php

$pswd1=md5(“cenusdesign”);

echo $pswd1; //運行結果為:fc60ec37d1c08d5b0fb67a8cd934d5ba

?

PHP怎麼進行MD5加密

1. MD5加密

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

參數

str — 原始字符串。

raw_output — 如果可選的 raw_output 被設置為 TRUE,那麼 MD5 報文摘要將以16字節長度的原始二進制格式返回。

這是一種不可逆加密,執行如下的代碼

$password = ‘123456’;

echo md5($password);

得到結果是e10adc3949ba59abbe56e057f20f883e

有php代碼和md5問題

php有內置的md5函數,不用代碼,直接使用即可。。。

例子 1

?php

$str = “Hello”;

echo md5($str);

?

輸出:

8b1a9953c4611296a827abf8c47804d7

例子 2

?php

$str = “Hello”;

echo md5($str);

if (md5($str) == ‘8b1a9953c4611296a827abf8c47804d7’)

{

echo “br /Hello world!”;

exit;

}

?

輸出:

8b1a9953c4611296a827abf8c47804d7

Hello world!

php中如何使用MD5碼

首先介紹一下PHP中MD5函數的使用方法:

?php

$pswd1=md5(“cenusdesign”);

echo $pswd1; //運行結果為:fc60ec37d1c08d5b0fb67a8cd934d5ba

$pswd2=md5(“Cenusdesign”);

echo $pswd2; //運行結果為:067577d9fc109c80538c81d6f02bd293

?

顯然,經過md5加密後,原本“cenusdesign”轉變成了一組32位的字符串,而且,即使是一個字母的大小寫變化,這組字符串就會發生巨大的變化。

Cenus Design建議把用戶註冊時,將密碼首先經過MD5轉換,然後將轉換加密後的數據庫。在用戶登陸時,也將密碼先進行MD5轉化,再和數據庫中那組經過MD5加密的字符串進行比較。這樣,就可以做到在不知道用戶確切密碼的情況下完成密碼的比對操作。

php md5下16位和32位的實現代碼

複製代碼

代碼如下:

?php

echo substr(md5(“admin”),8,16); // 16位MD5加密

echo “hr”;

echo md5(“admin”); // 32位MD5加密

?

16位的MD5加密用substr函數截取了字符得到實現….

不想深入研究了 :) 要把腦力放到其他關鍵的地方~~

今天做了個php鏈接mssql數據庫,數據庫中的表中字段使用MD5十六加密的。但是php中的MD5默認是32位,導致登錄程序沒辦法使用md5加密跟表中字段匹配,在網上一搜也有不少人有這方面的困惑,後來找到一個解決辦法,是正確的,就記錄下來。

使用substr函數截取:

substr(md5(“admin”),8,16);

//

16位MD5加密

md5(“admin”);

//

32位MD5加密

經過腳本之家測試結果如下:

我們以asp的幾個md5後的結果比較

附:如果遇到MD5加密文件,而又不知道的密碼的,請在數據庫中換上這組加密的數據。

admin—16位加密—7a57a5a743894a0e

admin—32位加密—21232f297a57a5a743894a0e4a801fc3

admin—40位加密—7a57a5a743894a0e4a801fc343894a0e4a801fc3

substr(md5(“admin”),8,16);

//

16位MD5加密

正是上面的32為從第8個字符開始的16個字符。所以大家不用考慮唯一性的問題。本身就是正確的。網上有人說php5支持

複製代碼

代碼如下:

echo

md5(“admin”,true);//返回16位,不過這是在PHP5里才有。

經測試輸出的結果是亂碼,如果大家有什麼好的代碼,可以分享下。

php中如何使用MD5加密?

把這段密文分割成若干段,對每段都進行一次MD5運算,然後把這堆密文連成一個超長的字符串,最後再進行一次MD5運算,得到仍然是長度為32位的密文。

?php

//把密文分割成兩段,每段16個字符

function md5_2_1($data)

{

//先把密碼加密成長度為32字符的密文

$data = md5($data);

//把密碼分割成兩段

$left = substr($data, 0, 16);

$right = substr($data, 16, 16);

//分別加密後再合併

$data = md5($left).md5($right);

//最後把長字串再加密一次,成為32字符密文

return md5($data);

}

//把密文分割成32段,每段1個字符

function md5_2_2($data)

{

$data = md5($data);

//循環地截取密文中的每個字符並進行加密、連接

for ($i = 0; $i 32; $i++) {

$data .= md5($data{$i});

}

//這時$data長度為1024個字符,再進行一次MD5運算

return md5($data);

}

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291665.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-25 14:06
下一篇 2024-12-25 14:06

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29

發表回復

登錄後才能評論