php rsa加密(非对称)实例 以及使用哈希256进行加密
function getEncryptionUserID($client_secret): string { $str = " -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpw/k/rPHx4c1nEO8lQr8Fkz2MMTnqNbspRox1f2snoDNcssTQxg9TyBOMujQy14eRibKE+X+qPVeZJyyfruTrtvB4EomJL7v4URcacg7H00A2HL1nf7DTtp8oRpVIssATcrgjwg60DSyDamMlnXCv9TiUKb+jRqWBkZNGhPh9UwIDAQAB -----END PUBLIC KEY----- "; $a = openssl_pkey_get_public($str); //对数据公钥加密及私钥解密 $string = $client_secret; $r= openssl_public_encrypt($string, $encrypted, $a); if ($r) { $b = base64_encode($encrypted); } return $b; }
openssl_pkey_get_public()函数将返回您的公钥。
函数openssl_pkey_get_public()从给定证书中返回公钥,以便可以与其他函数一起使用。
openssl_public_encrypt(
string
string
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string
int
): bool
string
$data
,string
&$encrypted_data
,OpenSSLAsymmetricKey|OpenSSLCertificate|array|string
$public_key
,int
$padding
= OPENSSL_PKCS1_PADDING
): bool
openssl_public_encrypt() 使用公钥 public_key
解密数据 data
并且将结果保存到变量 encrypted_data
中。加密的数据可以通过 openssl_private_decrypt() 函数解密。
该函数可以用来加密数据,供该公钥匹配的私钥拥有者读取。 它也可以用来在数据库中存储安全数据。
哈希算法实例:
$hash_it = hash("sha256", $client_id . $data. $pubKey, false);
hash(
string
string
bool
array
): string
string
$algo
,string
$data
,bool
$binary
= false
,array
$options
= []): string
参数 ¶
algo
-
要使用的散列算法,例如:“md5”、“sha256”、“haval160,4”等。在 hash_algos() 中查看支持的算法。
data
-
要进行散列运算的消息。
binary
-
设置为
true
输出原始二进制数据, 设置为false
输出小写 16 进制字符串。 options
-
各种散列算法的一系列选项数组。目前 MurmurHash 算法仅支持 “seed” 参数。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2022-01-10 swoole 创建TCP服务器