導航:首頁 > 源碼編譯 > phphash加密演算法

phphash加密演算法

發布時間:2024-07-18 04:53:04

㈠ 百度的url是怎麼加密

php有mcrypt庫,但是本人用下來很爛,加密在解密字元串會多出很多原來沒有的字元,而且總是亂碼,差不多隻有sha1是比較好用的
用哈希加密非常簡單
Location('music.php?url='.sha1($_GET['url']));
但是相比php,javascript的加密技術就更厲害了,我有sha1,md5和blowfish的三種加密函數,這些都是比較常用的演算法

㈡ 請高人看下這個php的加密演算法,幫我分析一下:

先獲取$salt把$salt 用base64_encode()編碼轉換一下,再用「+」替換「.」,然後用substr()截取0-22位,最後用crypt()函數混合加密密碼和上述轉換後的$salt,大致這個過程吧

㈢ SHA-256 加密 php 有相關的函數嗎

用hash函數。
hash('sha256','加密文本');

㈣ php MD5的定義用法

The md5() function calculates the MD5 hash of a string.
md5()函數的作用是:計算字元串的MD5 hash。
The md5() function uses the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
md5()函數使用美國實驗室(以研究加密演算法而著名)數據安全加密。它採用MD5信息散列[Message-Digest]運演算法則
From RFC 1321 - The MD5 Message-Digest Algorithm: The MD5 message-digest algorithm takes as input a message of arbitrary length and proces as output a 128-bit fingerprint or message digest of the input. The MD5 algorithm is intended for digital signature applications, where a large file must be compressed in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA.
RFC1321的解釋 - MD5信息散列[Message-Digest]運演算法則:「MD5信息散列運演算法則將任意長度的信息作為輸入值,並將其換算成一個128位長度的「指紋信息」或「信息散列」值來代表這個輸入值,並以換算後的值作為結果。MD5運演算法則主要是為「數字簽名程序」而設計的;在這個「數字簽名程序「中,較大的文件將在加密(這里的加密過程是通過在一個密碼系統下[如:RSA]的公開密匙下設置私要密匙而完成的)之前以一種安全的方式進行壓縮。」
This function returns the calculated MD5 hash on success, or FALSE on failure.
如果函數執行成功將計算MD5 hash,如果失敗返回false。

㈤ php hash_hmac如何解密

hmac演算法的主體還是散列函數,散列演算法本身是抽取數據特徵,是不可逆的。
所以「再得到aaa」——「逆運算獲得原數據」這種想法,是不符合hmac設計初衷,可以看成是對hmac安全性的直接挑戰,屬於解密,屬於誤用。

類似的需求,應該使用AES加密演算法實現

㈥ php aes加密~呢

AES加密演算法

密碼學中的高級加密標准(AdvancedEncryptionStandard,AES),又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標准。這個標准用來替代原先的DES,已經被多方分析且廣為全世界所使用。

<?php

classCryptAES

{

protected$cipher=MCRYPT_RIJNDAEL_128;

protected$mode=MCRYPT_MODE_ECB;

protected$pad_method=NULL;

protected$secret_key='';

protected$iv='';

publicfunctionset_cipher($cipher)

{

$this->cipher=$cipher;

}

publicfunctionset_mode($mode)

{

$this->mode=$mode;

}

publicfunctionset_iv($iv)

{

$this->iv=$iv;

}

publicfunctionset_key($key)

{

$this->secret_key=$key;

}

publicfunctionrequire_pkcs5()

{

$this->pad_method='pkcs5';

}

protectedfunctionpad_or_unpad($str,$ext)

{

if(is_null($this->pad_method))

{

return$str;

}

else

{

$func_name=__CLASS__.'::'.$this->pad_method.'_'.$ext.'pad';

if(is_callable($func_name))

{

$size=mcrypt_get_block_size($this->cipher,$this->mode);

returncall_user_func($func_name,$str,$size);

}

}

return$str;

}

protectedfunctionpad($str)

{

return$this->pad_or_unpad($str,'');

}

protectedfunctionunpad($str)

{

return$this->pad_or_unpad($str,'un');

}

publicfunctionencrypt($str)

{

$str=$this->pad($str);

$td=mcrypt_mole_open($this->cipher,'',$this->mode,'');

if(empty($this->iv))

{

$iv=@mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);

}

else

{

$iv=$this->iv;

}

mcrypt_generic_init($td,hex2bin($this->secret_key),$iv);

$cyper_text=mcrypt_generic($td,$str);

$rt=strtoupper(bin2hex($cyper_text));

mcrypt_generic_deinit($td);

mcrypt_mole_close($td);

return$rt;

}

publicfunctiondecrypt($str){

$td=mcrypt_mole_open($this->cipher,'',$this->mode,'');

if(empty($this->iv))

{

$iv=@mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);

}

else

{

$iv=$this->iv;

}

mcrypt_generic_init($td,$this->secret_key,$iv);

//$decrypted_text=mdecrypt_generic($td,self::hex2bin($str));

$decrypted_text=mdecrypt_generic($td,base64_decode($str));

$rt=$decrypted_text;

mcrypt_generic_deinit($td);

mcrypt_mole_close($td);

return$this->unpad($rt);

}

publicstaticfunctionhex2bin($hexdata){

$bindata='';

$length=strlen($hexdata);

for($i=0;$i<$length;$i+=2)

{

$bindata.=chr(hexdec(substr($hexdata,$i,2)));

}

return$bindata;

}

publicstaticfunctionpkcs5_pad($text,$blocksize)

{

$pad=$blocksize-(strlen($text)%$blocksize);

return$text.str_repeat(chr($pad),$pad);

}

publicstaticfunctionpkcs5_unpad($text)

{

$pad=ord($text{strlen($text)-1});

if($pad>strlen($text))returnfalse;

if(strspn($text,chr($pad),strlen($text)-$pad)!=$pad)returnfalse;

returnsubstr($text,0,-1*$pad);

}

}

//密鑰

$keyStr='';

//加密的字元串

$plainText='test';

$aes=newCryptAES();

$aes->set_key($keyStr);

$aes->require_pkcs5();

$encText=$aes->encrypt($plainText);

echo$encText;

?>

閱讀全文

與phphash加密演算法相關的資料

熱點內容
javawindows8 瀏覽:492
2021世界程序員節 瀏覽:484
php翼支付 瀏覽:882
盈通伺服器ip地址 瀏覽:789
3des演算法的c語言實現 瀏覽:873
網上怎樣購買伺服器地址 瀏覽:813
新氧app都在哪個城市 瀏覽:731
十二大加密貨幣圖片 瀏覽:315
資料庫日誌自動壓縮 瀏覽:929
手機表格文檔用哪個app 瀏覽:77
找人開發app的公司怎麼樣 瀏覽:651
android藍牙發送數據 瀏覽:428
範文瀾中國通史pdf 瀏覽:755
php常用的設計模式 瀏覽:889
安卓手機怎麼一個一個的截圖 瀏覽:980
javajsondate 瀏覽:356
matlab圖像處理演算法 瀏覽:670
安卓如何禁止手機自動降頻 瀏覽:697
一份加密不緊急的上行文 瀏覽:417
伺服器c5是什麼意思 瀏覽:444