Skip to content

Commit 4525024

Browse files
committed
fix: probleme de decryptage d'une chaine déjà decodée en base64
1 parent 3319fa1 commit 4525024

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

spec/system/framework/Security/Encryption/Encryption.spec.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
$config['authKeyInfo'] = 'authentication';
132132
$encrypter = single_service('encrypter', $config);
133133

134-
$encrypted = '211c55b9d1948187557bff88c1e77e0f6b965e3711d477d97fb0b60907a7336028714dbb8dfe90598039e9bc7147b54e552d739b378cd864fb91dde9ad6d4ffalIvVxFDDLTPBYGaHLNDzUSJExBKbQJ0NW27KDaR83bYqz8MDz/mXXpE+HHdaWjEE';
134+
$encrypted = 'ZGY3OWMyODBjN2M4MjBlNWEyMjRkY2RlOTQzNDIwNjA1ZGI2MzU2NDVjMDFmNjdhODM4ZDE1YmYyYzczZTYyNmQ1MmNhZmUyMjU1MTMxYWI2ZjRlNTFjYWUyYjY1OWJkNjNhMjhjZTU2ZTkyZWNlNTE1NTE5NDlhYThmMDlhZjVMNWN0SXVrU0hkQjJOVVczT1paK0RkbTM4WFRWTnNUVTJFTlZQWmxHNGJSS1hPaUpCMHNhMXBxcUlsc3RTaXpr';
135135
$decrypted = $encrypter->decrypt($encrypted);
136136

137137
$expected = 'This is a plain-text message.';
@@ -148,7 +148,7 @@
148148
$config['authKeyInfo'] = 'authentication';
149149
$encrypter = single_service('encrypter', $config);
150150

151-
$encrypted = 'f5eeb3f056b2dc5e8119b4a5f5ba793d724b9ca2d1ca23ab89bc72e51863f8da233a83ccb48d5daf3d6905d61f357877aaad32c8bc7a7c5e48f3268d2ba362b9UTw2A7U4CB9vb+6izrDzJHAdz1hAutIt2Ex2C2FqamJAXc8Z8RQor9UvaWy2';
151+
$encrypted = 'ZDY2MjM0NGYzNTdmNDE4NjZlOWQ4MzhkYjBmMTdkYjQ5ZGRhZDU3OTQ3YWM2YTFmZGU2YWM3YjhjMDQ5NWM4ZDU1MTUwMDljZjI5YjBmOGM2MTkxNGNiMWI1ZjE5ZjU1ZmRmOTdlMDY2Y2VkMzU5OTQ0ODdlZjgwMDUyMzU2ZGFMVmdpakhLUmY1ZFdsM09Mb0I0RGlIcGwxNUtkcTQxaU94eHVlYTNNK2dlaTlXdU5zYXladXdmcndqOUY=';
152152
$decrypted = $encrypter->decrypt($encrypted);
153153

154154
$expected = 'This is a plain-text message.';

src/Security/Encryption/Encryption.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,11 @@ public function encrypt(string $data, array|string|null $params = null): string
100100
*/
101101
public function decrypt(string $data, array|string|null $params = null): string
102102
{
103-
return $this->encrypter()->decrypt(base64_decode($data, true), $params);
103+
if (function_exists('mb_check_encoding')) {
104+
$data = ! mb_check_encoding($data, 'UTF-8') ? $data : base64_decode($data, true);
105+
}
106+
107+
return $this->encrypter()->decrypt($data, $params);
104108
}
105109

106110
/**

0 commit comments

Comments
 (0)