您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

laravel的加密方法是什么

2024/4/15 13:51:01发布21次查看
laravel的加密方法:1、利用hash,语法“bcrypt('需要加密的文本')”或“hash::make('需要加密的文本')”;2、使用laravel的加密器,语法“encrypt('需要加密的文本')”。
本教程操作环境:windows7系统、laravel6版,dell g3电脑。
laravel两种加密方式哈希
laravel 的 hash 里面为存储用户密码提供了安全的 bcrypt 和 argon2 哈希算法。
注:bcrypt 是散列密码的绝佳选择,因为其「工作因子」是可调整的,这意味着随着硬件功能的提升,生成哈希所花费的时间也会增加。
配置
应用默认的哈希驱动配置在配置文件 config/hashing.php 中,目前支持两个驱动:bcrypt 和 argon2。
注:argon2i 驱动要求 php 7.2.0 或更高版本,argon2id 驱动要求 php 7.3.0 或更高版本。
第一种
bcrypt('admin888')
第二种
use illuminate\support\facades\hash;$pwd = hash::make('admin888'); //加密存储
验证方法
if (hash::check('qwe123456', $pwd)) { // 密码匹配...}public function login(){ $credentials = request(['email', 'password']); if (! $token = auth('api')->attempt($credentials)) { return response()->json(['error' => 'unauthorized'], 401); } return $this->respondwithtoken($token);}
加密
laravel 的加密器使用 openssl 来提供 aes-256 和 aes-128 加密。强烈建议使用 laravel 自带的加密设置,不要尝试推出自己“土生土长”的加密算法。所有 laravel 加密过的值都使用消息授权码(mac)进行签名以便底层值一经加密就不能修改。
配置
在使用 laravel 的加密器之前,必须在配置文件 config/app.php 中设置 key 选项为 32 位随机字符串。可以使用 php artisan key:generate 命令来生成这个key,该 artisan 命令会使用 php 的安全随机字节生成器来构建 key 的值。如果这个值没有被设置,所有 laravel 加密过的值都是不安全的。
加密
你可以使用辅助函数 encrypt 对数据进行加密,所有加密值都使用 openssl 和 aes-256-cbc 密码(cipher)进行加密。此外,所有加密值都通过一个消息认证码(mac)来进行签名以防止对加密字符串的任何修改。
encrypt('密码')
不进行序列化的加密
加密值在加密期间都会经过序列化函数 serialize 进行处理,从而允许对对象和数组的加密。因此,非 php 客户端接收的加密数据需要进行 unserialize 反序列化。
如果你想要在加密和解密数据时不进行序列化操作,可以使用 crypt 门面提供的 encryptstring 和 decryptstring 方法:
use illuminate\support\facades\crypt;$encrypted = crypt::encryptstring('hello world.');$decrypted = crypt::decryptstring($encrypted);
解密
你可以使用辅助函数 decrypt 对加密数据进行解密。如果该值不能被解密,例如 mac 无效,将会抛出一个illuminate\contracts\encryption\decryptexception异常:
use illuminate\contracts\encryption\decryptexception;try { $decrypted = decrypt($encryptedvalue);} catch (decryptexception $e) { //}
相关推荐:最新的五个laravel视频教程
以上就是laravel的加密方法是什么的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product