PhoneHelper.php 588B

123456789101112131415161718192021
  1. <?php
  2. namespace App\Helpers;
  3. class PhoneHelper
  4. {
  5. public static function encrypt(string $phone): string
  6. {
  7. $key = config('app.phone_encrypt_key');
  8. $iv = random_bytes(16);
  9. $encrypted = openssl_encrypt($phone, 'AES-128-CBC', $key, 0, $iv);
  10. return base64_encode($iv . '||' . $encrypted);
  11. }
  12. public static function decrypt(string $encrypted): string
  13. {
  14. $key = config('app.phone_encrypt_key');
  15. [$iv, $data] = explode('||', base64_decode($encrypted));
  16. return openssl_decrypt($data, 'AES-128-CBC', $key, 0, $iv);
  17. }
  18. }