taylornetwork / encrypter
此包最新版本(1.0.1)没有提供许可证信息。
一个自定义加密类,使用Laravel的Encrypter类,并用自定义密钥而不是应用密钥。
1.0.1
2018-11-11 18:39 UTC
Requires
- php: >=5.4.0
- illuminate/encryption: 5.*.*
This package is auto-updated.
Last update: 2024-09-12 07:10:05 UTC
README
此包使用Laravel的加密功能,但允许您指定自定义密码短语而不是使用应用密钥。如果数据库中的某些数据需要加密,以便只有拥有密码短语的人才能解密,这会很有用。
安装
通过Composer
$ composer require taylornetwork/encrypter
设置
TaylorNetwork\Encrypter\Encrypter
已经准备好直接运行。
用法
实例化 TaylorNetwork\Encrypter\Encrypter
该类需要1个参数,即您想要用于加密/解密的密码短语。
$passphrase = 'secret 123'; $encrypter = new TaylorNetwork\Encrypter\Encrypter($passphrase);
注意:Laravel的Encrypter类需要一个恰好16个字符的密码短语,TaylorNetwork\Encrypter\Encrypter
将根据需要延长或缩短提供的密码短语,然后使用base64进行编码,再传递给Laravel的Encrypter类,这样您就可以提供任何长度的密码短语。
可用方法
encrypt (mixed $data)
加密提供的数据或返回 false
如果加密失败。
$data = 'This is some data to encrypt'; $encrypter->encrypt($data);
返回
'eyJpdiI6Ikc5aVdmUzhWcTRIM2xaMFZtQmVhamc9PSIsInZhbHVlIjoidFJmZHY3c1pcL25MZUtpOGlaM1NYa0JEY0FtbGtKTVVVZnRwaXJJbkNkU2srR3BPNlwvTlwvQ24xM0VUZ1lsc2xSMCIsIm1hYyI6ImZjYTU1YzU5NjFhYWM3NTNkOTFiNDk5YTNhMzIwMzhiMzQ0NjZhMDQyNWFjMTExZWVjY2QxOGM5NGExNmRjMGIifQ=='
decrypt (string $encryptedData)
解密提供的数据或返回 false
如果解密失败。
$data = 'eyJpdiI6Ikc5aVdmUzhWcTRIM2xaMFZtQmVhamc9PSIsInZhbHVlIjoidFJmZHY3c1pcL25MZUtpOGlaM1NYa0JEY0FtbGtKTVVVZnRwaXJJbkNkU2srR3BPNlwvTlwvQ24xM0VUZ1lsc2xSMCIsIm1hYyI6ImZjYTU1YzU5NjFhYWM3NTNkOTFiNDk5YTNhMzIwMzhiMzQ0NjZhMDQyNWFjMTExZWVjY2QxOGM5NGExNmRjMGIifQ=='; $encrypter->decrypt($data);
返回
'This is some data to encrypt'
鸣谢
- 主要作者: Sam Taylor
许可证
MIT许可证(MIT)。请参阅 许可证文件 了解更多信息。