首页 > 解决方案 > CakePHP 3 和 Angular 6 的常用加密/解密技术是什么?

问题描述

我计划在 CakePHP 3 中加密数据,并需要在 Angular 6 上解密。另外,反之亦然。

如果您有这种经历,请分享您的想法。

提前致谢!

标签: angularcakephp

解决方案


cakephp 具有提供加密和解密的安全实用程序,AES-256这里使用的是 cakephp doc 的示例

加密

//$value is the data 
//Assuming key is stored somewhere it can be re-used for
$key = 'wt1U5MACWJFTXGenFoZoiLwQGrLgdbHA';
$result = Security::encrypt($value, $key);

解密

$key = 'wt1U5MACWJFTXGenFoZoiLwQGrLgdbHA';

$cipher = $user->secrets;
$result = Security::decrypt($cipher, $key);

Cakephp 中的加密将根据系统上可用的内容 使用opensslmcrypt ,但mcrypt扩展在 PHP7.1 中已被弃用

有关更多信息,请查看 使用 Cakephp 加密和解密数据

Javascript 如果您正在寻找如何将它与 Javascript 框架一起使用,您应该寻找可以解密 AES 的库,这是一个示例

https://github.com/JamesMGreene/node-aes256

var decrypted = aes256.decrypt(key, encrypted);

key 是你在 CakePHP 中使用的那个, encrypted 是加密的数据。抱歉,我不是 AngularJS 开发人员,但您可以通过这种方式使用它。


推荐阅读