【问题标题】:How to backend encrypt/decrypt in laravel or php?如何在 laravel 或 php 中进行后端加密/解密?
【发布时间】:2018-08-01 00:48:28
【问题描述】:

前端使用:cryptojs

var key = CryptoJS.enc.Utf8.parse("9999999999999999");
console.log(key)
var iv = CryptoJS.enc.Utf8.parse("9999999999999999");
console.log(iv)
var text = 'testing';
var encrypted = '' + CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(text), key, { keySize: 128 / 8, iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
console.log(encrypted)

如何使用 laravel 或 php 进行后端加密/解密?

【问题讨论】:

    标签: php laravel encryption laravel-5 laravel-5.4


    【解决方案1】:

    如果使用存储在 config/app.php 中的 key 选项中的密钥对数据进行加密,则可以使用 Laravel 的加密/解密助手。

    $decrypted = decrypt($encryptedValue);
    

    有关更多信息,请参阅 Laravel 文档:https://laravel.com/docs/5.4/encryption

    您还可以使用 OpenSSL 扩展的功能来加密/解密 AES,尤其是在您使用不同的密钥加密值时:

    $decryptedString = openssl_decrypt($encryptedString, 'AES-256-CBC', $key); 
    

    有关详细信息,请参阅文档:http://php.net/manual/en/function.openssl-decrypt.php

    【讨论】:

      【解决方案2】:

      我找到了解决方案:缺少填充。

      \openssl_encrypt(
              'encrypted value',
              'algorithm', 'key', 'payload pad', 'iv'
          )
      
      $value = \openssl_encrypt(
              'udaiyar',
              'aes-128-cbc', '5555555555555555', **128/8**, '5555555555555555'
          );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-16
        • 2010-12-10
        • 2019-12-14
        • 1970-01-01
        • 2015-05-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多