使用php编写一套字符串加密,再由C# 解密的方法
时间: 2024-03-15 20:45:24 浏览: 160
好的,可以使用对称加密算法 AES 来实现。
PHP 加密代码示例:
```php
function encrypt($data, $key) {
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
$encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($iv . $encrypted);
}
```
其中,$data 是要加密的字符串,$key 是加密的密钥。
C# 解密代码示例:
```csharp
static string Decrypt(string encryptedData, string key) {
var encryptedBytes = Convert.FromBase64String(encryptedData);
var iv = encryptedBytes.Take(16).ToArray();
var data = encryptedBytes.Skip(16).ToArray();
using (var aes = Aes.Create()) {
aes.Key = Encoding.UTF8.GetBytes(key);
aes.IV = iv;
using (var decryptor = aes.CreateDecryptor()) {
var decryptedBytes = decryptor.TransformFinalBlock(data, 0, data.Length);
return Encoding.UTF8.GetString(decryptedBytes);
}
}
}
```
其中,encryptedData 是加密后的字符串,key 是解密的密钥。
阅读全文