导航:首页 > 源码编译 > 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加密算法相关的资料

热点内容
java课表 浏览:551
如何在pdf里面修改 浏览:925
橙光制作器档案框在哪个文件夹 浏览:989
php如何抓取网页数据 浏览:640
计数器单片机 浏览:964
游戏aoi算法 浏览:844
phpmysqlint 浏览:912
怎么从appstore商城买东西 浏览:184
大秀直播平台源码 浏览:424
java视屏 浏览:934
电脑中如何给程序加密 浏览:240
java排序容器 浏览:942
职称证书在哪个app下载 浏览:362
四九算法算男女 浏览:659
javawindows8 浏览:496
2021世界程序员节 浏览:484
php翼支付 浏览:883
盈通服务器ip地址 浏览:790
3des算法的c语言实现 浏览:873
网上怎样购买服务器地址 浏览:815