Skip to content

Commit 766c717

Browse files
committed
review encryption & hashing & passwords
1 parent e33a1e7 commit 766c717

File tree

4 files changed

+73
-64
lines changed

4 files changed

+73
-64
lines changed

authentication.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
- [HTTP 基础认证](#http-basic-authentication)
1616
- [无状态 HTTP 基础认证](#stateless-http-basic-authentication)
1717
- [社交认证](https://github.com/laravel/socialite)
18-
- [增加自定义 Guards](#adding-custom-guards)
18+
- [增加自定义看守器](#adding-custom-guards)
1919
- [增加自定义用户提供器](#adding-custom-user-providers)
2020
- [用户提供器契约](#the-user-provider-contract)
2121
- [认证契约](#the-authenticatable-contract)
@@ -532,17 +532,17 @@ Laravel 在认证过程中引发了各种各样的 [事件](/docs/{{version}}/ev
532532
'App\Listeners\LogLockout',
533533
],
534534
];
535-
535+
536536
## 译者署名
537537
| 用户名 | 头像 | 职能 | 签名 |
538538
| --- | --- | --- | --- |
539539
| [@iwzh](https://github.com/iwzh) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/3762_1456807721.jpeg?imageView2/1/w/200/h/200"> | 翻译 | 码不能停 [@iwzh](https://github.com/iwzh) at Github |
540+
| [@JokerLinly](https://laravel-china.org/users/5350) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/5350_1481857380.jpg"> | Review | Stay Hungry. Stay Foolish. |
540541

541-
542-
---
542+
---
543543

544544
> {note} 欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
545-
>
545+
>
546546
> 转载请注明:本文档由 Laravel China 社区 [laravel-china.org](https://laravel-china.org) 组织翻译,详见 [翻译召集帖](https://laravel-china.org/topics/5756/laravel-55-document-translation-call-come-and-join-the-translation)
547-
>
548-
> 文档永久地址: https://d.laravel-china.org
547+
>
548+
> 文档永久地址: https://d.laravel-china.org

encryption.md

+20-20
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
# Laravel 的加密解密机制
1+
# 加密机制
22

3-
- [介绍](#introduction)
3+
- [简介](#introduction)
44
- [设置](#configuration)
5-
- [基本用法](#using-the-encrypter)
5+
- [使用](#using-the-encrypter)
66

77
<a name="introduction"></a>
8-
## 介绍
8+
## 简介
99

10-
Laravel 是利用 OpenSSL 去提供 AES-256 和 AES-128 的加密。强烈建议您使用 Laravel 自己的加密机制,而不是尝试自己的「自制」加密算法。 Laravel 所有加密之后的结果都会使用消息认证码 (MAC) 去签署,所以一旦被加密就无法再改变
10+
Laravel 的加密机制使用 OpenSSL 提供 AES-256 和 AES-128 的加密。强烈建议你使用 Laravel 内置的加密机制,而不是用其他的加密算法。所有 Laravel 加密之后的结果都会使用消息认证码 (MAC) 去签名,使其底层值不能在加密后修改
1111

1212
<a name="configuration"></a>
1313
## 设置
1414

15-
在使用 Laravel 加密之前, 你必须先设置 `config/app.php` 配置文件中的 `key` 选项。由于 Artisan 控制台会使用 PHP 的安全机制为你随机生成 key ,你可以直接使用 `php artisan key:generate` 命令去生成 key 。如果没有适当地设置这个值,所有被 Laravel 加密的值都将是不安全的。
15+
在使用 Laravel 的加密程序之前, 你必须先设置 `config/app.php` 配置文件中的 `key` 选项。运行 Artisan命令 `php artisan key:generate`,它会使用 PHP 的安全随机字节生成器来构建密钥。如果这个 key 值没有被正确设置,则所有由 Laravel 加密的值都将是不安全的。
1616

1717
<a name="using-the-encrypter"></a>
18-
## 基本用法
18+
## 使用
1919

2020
#### 加密一个值
2121

22-
你可以借助 encrypt 辅助函数来加密一个值。这些值都会使用 OpenSSL 与 `AES-256-CBC` 来进行加密。此外,所有加密过后的值都会被签署文件消息验证码 (MAC),以检测加密字符串是否被篡改过:
22+
你可以使用辅助函数 `encrypt` 来加密一个值。所有加密值都使用 OpenSSL 与 `AES-256-CBC` 来进行加密。此外,所有加密过的值都会使用消息认证码(MAC)进行签名,以检测加密字符串是否被篡改过:
2323

2424
<?php
2525

@@ -48,9 +48,9 @@ Laravel 是利用 OpenSSL 去提供 AES-256 和 AES-128 的加密。强烈建议
4848
}
4949
}
5050

51-
#### 不进行序列化的加密解密方法
51+
#### 无序列化加密
5252

53-
加密值在加密期间通过 `serialize` 传递,这也就允许对对象和数组进行加密。由此,非PHP客户端接收到加密值将需要 `unserialize` 数据。如果您希望在不进行序列化的情况下加密和解密值,可以使用 `Crypt` facade`encryptString``decryptString` 方法:
53+
加密值在加密期间通过 `serialize` 传递,这允许对象和数组的加密。因此,接收加密值的非PHP客户端将需要 `unserialize` 数据。如果想在不序列化的情况下加密和解密值,可以使用 `Crypt` Facade`encryptString``decryptString` 方法:
5454

5555
use Illuminate\Support\Facades\Crypt;
5656

@@ -60,7 +60,7 @@ Laravel 是利用 OpenSSL 去提供 AES-256 和 AES-128 的加密。强烈建议
6060

6161
#### 解密一个值
6262

63-
你可以借助 `decrypt` 辅助函数来解密一个值。如果值不能被正确解密,例如当 MAC 无效时,将抛出 `Illuminate\Contracts\Encryption\DecryptException` 异常
63+
你可以使用辅助函数 `decrypt` 来解密一个值。如果该值不能被正确解密,例如当 MAC 无效时,会抛出异常 `Illuminate\Contracts\Encryption\DecryptException`
6464

6565
use Illuminate\Contracts\Encryption\DecryptException;
6666

@@ -69,17 +69,17 @@ Laravel 是利用 OpenSSL 去提供 AES-256 和 AES-128 的加密。强烈建议
6969
} catch (DecryptException $e) {
7070
//
7171
}
72-
73-
## 译者署名
74-
| 用户名 | 头像 | 职能 | 签名 |
75-
| ---------------------------------------- | ---------------------------------------- | ---- | ---------------------------------------- |
76-
| [@GanymedeNil](https://github.com/GanymedeNil) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/6859_1487055454.jpg?imageView2/1/w/100/h/100"> | 翻译 | 争做一个 Full Stack Developer [@GanymedeNil](http://weibo.com/jinhongyang) |
7772

73+
## 译者署名
74+
| 用户名 | 头像 | 职能 | 签名 |
75+
|---|---|---|---|
76+
| [@GanymedeNil](https://github.com/GanymedeNil) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/6859_1487055454.jpg"> | 翻译 | 争做一个 Full Stack Developer [@GanymedeNil](http://weibo.com/jinhongyang) |
77+
| [@JokerLinly](https://laravel-china.org/users/5350) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/5350_1481857380.jpg"> | Review | Stay Hungry. Stay Foolish. |
7878

79-
---
79+
---
8080

8181
> {note} 欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
82-
>
82+
>
8383
> 转载请注明:本文档由 Laravel China 社区 [laravel-china.org](https://laravel-china.org) 组织翻译,详见 [翻译召集帖](https://laravel-china.org/topics/5756/laravel-55-document-translation-call-come-and-join-the-translation)
84-
>
85-
> 文档永久地址: https://d.laravel-china.org
84+
>
85+
> 文档永久地址: https://d.laravel-china.org

hashing.md

+22-13
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
# Laravel 的哈希加密
1+
# 哈希
22

33
- [简介](#introduction)
44
- [基本用法](#basic-usage)
55

66
<a name="introduction"></a>
77
## 简介
88

9-
Laravel 通过 `Hash` [facade](/docs/{{version}}/facades) 提供 Bcrypt 加密来保存用户密码。 如果您在当前的 Laravel 应用程序中使用了内置的 `LoginController``RegisterController` 类,它们将自动使用 Bcrypt 进行注册和身份验证。
9+
Laravel `Hash` [Facade](/docs/{{version}}/facades) 提供安全的 Bcrypt 哈希保存用户密码。 如果应用程序中使用了 Laravel 内置的 `LoginController``RegisterController` 类,它们将自动使用 Bcrypt 进行注册和身份验证。
1010

11-
> {tip} 由于 Bcrypt 「加密系数(word fator)」可以任意调整,这使它成为最好的加密选择。这代表每一次加密的次数可以随着硬件设备的升级而增加
11+
> {tip} Bcrypt 是哈希密码的理想选择,因为它的「加密系数」可以任意调整,这意味着生成哈希所需的时间可以随着硬件功率的增加而增加
1212
1313
<a name="basic-usage"></a>
1414
## 基本用法
1515

16-
你可以通过调用 `Hash` facade`make` 方法加密一个密码
16+
你可以通过调用 `Hash` Facade`make` 方法来填写密码
1717

1818
<?php
1919

@@ -41,15 +41,23 @@ Laravel 通过 `Hash` [facade](/docs/{{version}}/facades) 提供 Bcrypt 加密
4141
}
4242
}
4343

44+
`make` 方法还能使用 `rounds` 选项来管理 bcrypt 哈希算法的加密系数。然而,大多数应用程序还是能接受默认值的:
45+
46+
```
47+
$hashed = Hash::make('password', [
48+
'rounds' => 12
49+
]);
50+
```
51+
4452
#### 根据哈希值验证密码
4553

46-
check 方法允许你通过一个指定的纯字符串跟哈希值进行验证。 如果你目前正使用 [Laravel 内含的](/docs/{{version}}/authentication) `LoginController` , 你可能不需要直接使用该方法,它已经包含在控制器当中并且会被自动调用
54+
`check` 方法可以验证给定的纯文本字符串对应于给定的散列。 如果使用 [Laravel 内置的](/docs/{{version}}/authentication) `LoginController`,则不需要直接使用该方法,因为该控制器会自动调用此方法
4755

4856
if (Hash::check('plain-text', $hashedPassword)) {
4957
// 密码对比...
5058
}
5159

52-
#### 验证密码是否须重新加密
60+
#### 检查密码是否需要重新加密
5361

5462
`needsRehash` 函数允许你检查已加密的密码所使用的加密系数是否被修改:
5563

@@ -58,14 +66,15 @@ check 方法允许你通过一个指定的纯字符串跟哈希值进行验证
5866
}
5967

6068
## 译者署名
61-
| 用户名 | 头像 | 职能 | 签名 |
62-
| ---------------------------------------- | ---------------------------------------- | ---- | ---------------------------------------- |
63-
| [@GanymedeNil](https://github.com/GanymedeNil) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/6859_1487055454.jpg?imageView2/1/w/100/h/100"> | 翻译 | 争做一个 Full Stack Developer [@GanymedeNil](http://weibo.com/jinhongyang) |
69+
| 用户名 | 头像 | 职能 | 签名 |
70+
|---|---|---|---|
71+
| [@GanymedeNil](https://github.com/GanymedeNil) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/6859_1487055454.jpg"> | 翻译 | 争做一个 Full Stack Developer [@GanymedeNil](http://weibo.com/jinhongyang) |
72+
| [@JokerLinly](https://laravel-china.org/users/5350) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/5350_1481857380.jpg"> | Review | Stay Hungry. Stay Foolish. |
6473

65-
---
74+
---
6675

6776
> {note} 欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
68-
>
77+
>
6978
> 转载请注明:本文档由 Laravel China 社区 [laravel-china.org](https://laravel-china.org) 组织翻译,详见 [翻译召集帖](https://laravel-china.org/topics/5756/laravel-55-document-translation-call-come-and-join-the-translation)
70-
>
71-
> 文档永久地址: https://d.laravel-china.org
79+
>
80+
> 文档永久地址: https://d.laravel-china.org

0 commit comments

Comments
 (0)