這個跟php沒有關系,單純的是兩個密碼學的演算法。如果真想搞清楚區別,你需要有密碼學的基礎知識。
我簡單說一下,這兩個都是標準的密碼學演算法,應用廣泛。AES是一個對稱加密演算法,常常用於對數據進行加密,RSA是一個非對稱(公鑰)加密演算法,常常用於對AES加密用的密鑰進行加密,或者進行數字簽名等。
至於對稱加密演算法和非對稱加密演算法的區別說起來就越來越多了。你只要知道以下事實就好:
對稱加密演算法加解密密鑰相同,而非對稱加密演算法加解密密鑰不同
對稱加密演算法相對於非對稱加密演算法而言往往加解密速度很快
非對稱加密演算法具有任何有公鑰的人都能加密數據,但是只有有私鑰的人才能解密數據的特點
㈡ php什麼加密最難破解
在PHP中,最難破解的加密方式通常涉及多種復雜加密演算法和技術的組合使用,其中哈希演算法與密鑰管理系統的結合使用是較為推薦的做法。以下是一些具體說明:
使用強哈希演算法:
密鑰管理系統(KMS):
組合使用多種加密技術:
實施最佳安全實踐:
綜上所述,在PHP中,最難破解的加密方式通常涉及使用強哈希演算法(如bcrypt或Argon2id)與密鑰管理系統的結合使用,並組合使用多種加密技術來實施最佳安全實踐。這樣的組合可以顯著提高數據的安全性,降低被破解的風險。
㈢ PHP的xxtea加密演算法問題
xxtea 的密鑰長度128bit,塊長度不定, 是32bit的倍數。
PHP做位運算要小心。整形有符號,會自動轉換成浮點,要控制好范圍。
㈣ php如何對文件進行RC4加密
1.原始鑰匙 key
2.md5(md5+常量) 加密原始key => mkey
3.mkey 作為AC4的密匙 ac_mkey
4.ac_mkey 對加密數據 進行 AC4 加密 得到AC4密碼
5.AC4密碼 在進行一次 AC4加密可還原 加密數據
簡單來說,一句話,用md5 做AC4的密匙
以下是代碼
<?php
/*
* rc4加密演算法
* $pwd 密鑰
* $data 要加密的數據
*/
function rc4 ($pwd, $data)//$pwd密鑰 $data需加密字元串
{
$key[] ="";
$box[] ="";
$pwd_length = strlen($pwd);
$data_length = strlen($data);
for ($i = 0; $i < 256; $i++)
{
$key[$i] = ord($pwd[$i % $pwd_length]);
$box[$i] = $i;
}
for ($j = $i = 0; $i < 256; $i++)
{
$j = ($j + $box[$i] + $key[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
}
for ($a = $j = $i = 0; $i < $data_length; $i++)
{
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
$k = $box[(($box[$a] + $box[$j]) % 256)];
$cipher .= chr(ord($data[$i]) ^ $k);
}
return $cipher;
}
$key = '5201314'; //原始KEY
$pwd = md5(md5($key).'我是常量'); //md5+常量
$data = '我愛北京天安門'; //要加密的數據
$cipher = rc4($pwd, $data); //AC4 加密演算法
$c = rc4($pwd, $cipher); //AC4 加密演算法還原 (還原只需要重新加密一次)
echo '<pre>';
var_mp($key);
var_mp($pwd);
var_mp($data);
var_mp($cipher);
var_mp($c);
?>