導航:首頁 > 編程語言 > sha1md5php

sha1md5php

發布時間:2022-07-26 04:48:22

㈠ 登錄口令用什麼加密方式好(MD5、SHA1,還是其他) - php進階討論

為了兼容低版本就用MD5。。否則用SHA1。。。

㈡ php digest session id怎麼賦值

前序:

首先要明白PHPSESSID看似多次刷新都不會改變其實是沒有刪除本地相關聯的cookie,刪除的方法

session_destroy();//刪除伺服器端的session文件

setcookie(session_name(),'',time()-3600,'/');//刪除本地相關聯的cookie

session_unset();//清空內存中的cookie或者是$_SESSION = array();

然後再刷新相應的頁面你就會看到PHPSESSID會發生變化了,根據此可以得:如果session文件已經創建則不重新生成PHPSESSID,否則需要重新生成,生成規則,就看下邊嘍……!

--------------------------------------------------------------------------------------------------------------------------------------

現在經過測試應該是不是檢測session文件是否存在,而是檢測PHPSESSID的cookie是否存在並且是否未過期!特此更正!

------------------------------------------------------------------------------------------------

可能PHP開發者心中多少都思考過這么兩個問題:

種植在客戶端瀏覽器中的PHPSESSIONID會出現重復嗎?
PHPSESSIONID安全性如何,有沒可能被黑客輕易的仿造呢?
帶上這個問題,我稍微注意了一下PHP的源碼後,疑問也就有了答案。

PHP在使用默認的 session.save_handler = files 方式時,PHPSESSIONID的生產演算法原理如下:

hash_func = md5 / sha1 #可由php.ini配置
PHPSESSIONID = hash_func(客戶端IP + 當前時間(秒)+ 當前時間(微妙)+ PHP自帶的隨機數生產器)

從以上hash_func(*)中的數據采樣值的內容分析,多個用戶在同一台伺服器時所生產的PHPSESSIONID重復的概率極低(至少為百萬份之一),設想,但台動態Web Server能到2000/rps已經很強悍了。

另外,黑客如果要猜出某一用戶的PHPSESSIONID,則他也必須知道「客戶端IP、當前時間(秒、微妙)、隨機數」等數據方可模擬。

以下是截取PHP源碼中PHPSESSIONID實現片段:

gettimeofday(&tv, NULL);

if (
zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &array) == SUCCESS &&
Z_TYPE_PP(array) == IS_ARRAY && zend_hash_find(Z_ARRVAL_PP(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &token) == SUCCESS)
{
remote_addr = Z_STRVAL_PP(token);
}

spprintf(&buf, 0, "%.15s%ld%ld%0.8F", remote_addr ? remote_addr : "", tv.tv_sec, (long int)tv.tv_usec, php_combined_lcg(TSRMLS_C) * 10);

switch (PS(hash_func))
{
case PS_HASH_FUNC_MD5:
PHP_MD5Init(&md5_context);
PHP_MD5Update(&md5_context, (unsigned char *) buf, strlen(buf));
digest_len = 16;
break;
case PS_HASH_FUNC_SHA1:
PHP_SHA1Init(&sha1_context);
PHP_SHA1Update(&sha1_context, (unsigned char *) buf, strlen(buf));
digest_len = 20;
break;
default:
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid session hash function");
efree(buf);
return NULL;
}

㈢ php: sha1和 md5 兩種加密的區別

MD5和SHA-1是目前使用比較廣泛的散列(Hash)函數,也是在消息認證和數字簽名中普遍使用的兩種加密演算法。本文基於AVR高速嵌入式單片機,實現了MD5和SHA-1兩種加密演算法的比較,並對演算法進行了匯編語言的優化和改進。根據實驗結果,對兩種演算法的

㈣ php: sha1和 md5 兩種加密的區別

MD5
消息摘要演算法5(MD5),把信息分為512比特的分組,並且創建一個128比特的摘要。
SHA-1
安全hash演算法(SHA-1),也是基於MD5的,使用一個標准把信息分為512比特的分組,並且創建一個160比特的摘要

㈤ 如何用php的md5或者sha1驗證文件是否相同

$md5 = mdt(file_get_contents('1.txt'));

㈥ 怎麼給URL加密

你可以設置跳轉啊!也就是滿足什麼條件到什麼頁面!一個switch()語句及可以了!URL加密!鄙人沒有聽說過!但是傳輸一些特殊字元的時候可以URLENCODE()一下!

㈦ php: sha1和 md5 兩種加密的區別

要說安全,單一的加密其實安全是差不多的.想安全就要多重加密,
這兩個其實來說也沒什麼太大的區別,只是sha1更長了些

㈧ php中echo sha1(123); 和insert into member(pw) values(md5(123));結果不一樣,高手指點!

echo結果:123

mysql結果:無密碼

㈨ 說能說清楚C#md5和php md5加密技術的區別,以實例說明

原理其實都是一樣的,你說的種子問題其實可以理解為加密鹽

同樣的值的MD5結果是一樣的,前提是編碼需要一致

默認的編碼是Unicode
對非英文字元 ,編碼不同MD5的結果也是不同的,
以下是對字元"夢世繁華"的md5值的比較,你可以看看

md5("夢世繁華")
UTF-8 32位GB2312 32位Unicode 32位


//=====================================================
md5 16
md5 16 utf-8
a2cccbcf9c0e3ca9
A2CCCBCF9C0E3CA9

md5 16 gb2312
2f82ed6fb6a9d0a8
2F82ED6FB6A9D0A8

md5 16 unicode
9821973ddd33dc81
9821973DDD33DC81

//=====================================================
md5 Hash Utf-8
e5-18-ec-8a-a2-cc-cb-cf-9c-0e-3c-a9-1d-e2-9b-5a
E5-18-EC-8A-A2-CC-CB-CF-9C-0E-3C-A9-1D-E2-9B-5A

md5 hash GB2312
5e-ba-da-d0-2f-82-ed-6f-b6-a9-d0-a8-59-9b-c7-3a
5E-BA-DA-D0-2F-82-ED-6F-B6-A9-D0-A8-59-9B-C7-3A

md5 hash UNICode
5f-df-ba-4d-98-21-97-3d-dd-33-dc-81-8b-e3-1c-2f
5F-DF-BA-4D-98-21-97-3D-DD-33-DC-81-8B-E3-1C-2F
//=====================================================
Sha1Hash Utf-8
a8-26-5f-e6-69-27-18-f4-3c-1b-16-30-10-9e-ee-3f-8d-df-3a-84
A8-26-5F-E6-69-27-18-F4-3C-1B-16-30-10-9E-EE-3F-8D-DF-3A-84

Sha1Hash GB2312
b4-eb-13-07-bc-7b-9b-d3-e4-8c-4a-82-6a-9b-7b-8b-1e-4a-dd-3b
B4-EB-13-07-BC-7B-9B-D3-E4-8C-4A-82-6A-9B-7B-8B-1E-4A-DD-3B

Sha1Hash UNICode
af-be-2d-d5-d2-7e-fa-55-ea-11-3d-ad-da-35-fc-a5-b9-c4-e9-88
AF-BE-2D-D5-D2-7E-FA-55-EA-11-3D-AD-DA-35-FC-A5-B9-C4-E9-88

㈩ php中我看對密碼加密的時候md5是很常用的,但我看手冊上還有一個加密方法叫sha1,為什麼很少看到人使用

只是你看的太少了,加密方式多種多樣的
我比較喜歡
md5($key.md5($str))這種方式
反正主要的目的就是讓破解變的稍微麻煩一點而已
不過在強大的黑客面前,你怎麼加密都是很單薄的

閱讀全文

與sha1md5php相關的資料

熱點內容
linuxpython綠色版 瀏覽:429
怎麼下載小愛同學音箱app 瀏覽:552
python佔位符作用 瀏覽:76
javajdbcpdf 瀏覽:541
php網頁模板下載 瀏覽:190
python試講課pygame 瀏覽:407
安居客的文件夾名稱 瀏覽:677
家裡伺服器如何玩 瀏覽:449
網站源碼使用視頻 瀏覽:746
stc89c52單片機最小系統 瀏覽:452
郵件安全證書加密 瀏覽:416
雲伺服器如何訪問百度 瀏覽:279
常州電信伺服器dns地址 瀏覽:839
用小方塊製作解壓方塊 瀏覽:42
圖像壓縮編碼實現 瀏覽:68
特色功能高拋低吸線副圖指標源碼 瀏覽:71
西方哲學史pdf羅素 瀏覽:874
python最常用模塊 瀏覽:184
溫州直播系統源碼 瀏覽:112
程序員在上海買房 瀏覽:384