taylornetwork/encrypter

此包最新版本(1.0.1)没有提供许可证信息。

一个自定义加密类,使用Laravel的Encrypter类,并用自定义密钥而不是应用密钥。

1.0.1 2018-11-11 18:39 UTC

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'

鸣谢

许可证

MIT许可证(MIT)。请参阅 许可证文件 了解更多信息。