Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
zetcode-zh
提交
f97a8985
Z
zetcode-zh
项目概览
OpenDocCN
/
zetcode-zh
8 个月 前同步成功
通知
2
Star
157
Fork
40
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zetcode-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f97a8985
编写于
6月 22, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-22 12:37:40
上级
3719d6d4
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
47 addition
and
47 deletion
+47
-47
docs/py/22.md
docs/py/22.md
+6
-6
docs/py/28.md
docs/py/28.md
+5
-5
docs/ruby/71.md
docs/ruby/71.md
+1
-1
docs/ruby/77.md
docs/ruby/77.md
+3
-3
docs/ruby/82.md
docs/ruby/82.md
+3
-3
docs/servlet/12.md
docs/servlet/12.md
+4
-4
docs/servlet/5.md
docs/servlet/5.md
+3
-3
docs/servlet/8.md
docs/servlet/8.md
+5
-5
docs/spring-boot/17.md
docs/spring-boot/17.md
+2
-2
docs/spring-boot/21.md
docs/spring-boot/21.md
+1
-1
docs/spring-boot/4.md
docs/spring-boot/4.md
+1
-1
docs/spring-boot/46.md
docs/spring-boot/46.md
+4
-4
docs/spring-boot/56.md
docs/spring-boot/56.md
+3
-3
docs/symfony/89.md
docs/symfony/89.md
+1
-1
docs/symfony/95.md
docs/symfony/95.md
+5
-5
未找到文件。
docs/py/22.md
浏览文件 @
f97a8985
...
...
@@ -10,13 +10,13 @@ Python `bcrypt`模块是一个用于在 Python 中生成强哈希值的库。
加密是对消息或信息进行编码的过程,以使只有授权人员才能使用相应的键读取消息或信息,而未经授权的人员则不能。 预期的信息或消息,称为纯文本,使用加密算法-密码-加密,生成密文,只有解密后才能读取。 加密是一种双向功能。 当我们加密某些东西时,我们这样做是为了以后对其进行解密。 加密用于传输时保护数据; 例如在邮件通讯中。
##
散列
##
哈希
哈希是使用算法将任意大小的数据映射到固定长度的过程。 这称为哈希值。 加密是一种双向功能,而
散列是一种单向功能。 尽管在技术上可以反向散列值,但所需的计算能力使其不可行。 加密是为了保护传输中的数据,而散列
是为了验证数据没有被更改并且是真实的。
哈希是使用算法将任意大小的数据映射到固定长度的过程。 这称为哈希值。 加密是一种双向功能,而
哈希是一种单向功能。 尽管在技术上可以反向哈希值,但所需的计算能力使其不可行。 加密是为了保护传输中的数据,而哈希
是为了验证数据没有被更改并且是真实的。
> **注意**:
散列
不限于安全性。 它还用于比较大量数据或快速键查找。
> **注意**:
哈希
不限于安全性。 它还用于比较大量数据或快速键查找。
密码不是以纯文本格式存储在数据库中,而是以
散列
值存储。
密码不是以纯文本格式存储在数据库中,而是以
哈希
值存储。
## 盐
...
...
@@ -26,7 +26,7 @@ Python `bcrypt`模块是一个用于在 Python 中生成强哈希值的库。
`bcrypt`
是 Niels Provos 和 DavidMazières 基于 Blowfish 密码设计的密码哈希功能。
`bcrypt`
函数是 OpenBSD 的默认密码哈希算法。 有针对 C,C++ ,C# ,Java,JavaScript,PHP,Python 和其他语言的
`bcrypt`
实现。
`bcrypt`
算法使用强大的加密技术为我们创建哈希并加盐。 该算法的计算成本是参数化的,因此随着计算机变得越来越快,它可能会增加。 计算成本被称为工作因子或成本因子。 它减慢了
散列
的速度,使暴力破解的尝试越来越难。 随着计算机变得越来越快,最佳成本因数会随着时间而变化。 高成本因素的缺点是增加了系统资源的负载并影响了用户体验。
`bcrypt`
算法使用强大的加密技术为我们创建哈希并加盐。 该算法的计算成本是参数化的,因此随着计算机变得越来越快,它可能会增加。 计算成本被称为工作因子或成本因子。 它减慢了
哈希
的速度,使暴力破解的尝试越来越难。 随着计算机变得越来越快,最佳成本因数会随着时间而变化。 高成本因素的缺点是增加了系统资源的负载并影响了用户体验。
## Python `bcrypt`创建哈希密码
...
...
@@ -119,7 +119,7 @@ match
## Python `bcrypt`成本因子
成本因子通过减慢
散列
来提高安全性。
成本因子通过减慢
哈希
来提高安全性。
`cost_factor.py`
...
...
docs/py/28.md
浏览文件 @
f97a8985
...
...
@@ -8,19 +8,19 @@ Python 哈希教程解释了 Python 中的哈希概念。 我们介绍了哈希
哈希表用于以许多常见的编程语言(例如 C++ ,Java 和 Python)实现映射和设置数据结构。 Python 将哈希表用于字典和集合。 哈希表是键值对的无序集合,其中每个键都是唯一的。 哈希表提供了有效的查找,插入和删除操作的组合。 这些是数组和链接列表的最佳属性。
##
散列
##
哈希
哈希是使用算法将任意大小的数据映射到固定长度的过程。 这称为哈希值。
散列
用于创建高性能,直接访问的数据结构,在该结构中要快速存储和访问大量数据。 哈希值使用哈希函数计算。
哈希是使用算法将任意大小的数据映射到固定长度的过程。 这称为哈希值。
哈希
用于创建高性能,直接访问的数据结构,在该结构中要快速存储和访问大量数据。 哈希值使用哈希函数计算。
## Python 可哈希对象
如果对象的哈希值在其生命周期内从未发生变化,则该对象是可哈希的。 (在多次调用 Python 程序期间,它可以具有不同的值。)可哈希对象需要
`__hash__()`
方法。 为了执行比较,
散列
需要一种
`__eq__()`
方法。
如果对象的哈希值在其生命周期内从未发生变化,则该对象是可哈希的。 (在多次调用 Python 程序期间,它可以具有不同的值。)可哈希对象需要
`__hash__()`
方法。 为了执行比较,
哈希
需要一种
`__eq__()`
方法。
> **注意**:比较相等的可哈希对象必须具有相同的哈希值。
散列性使对象可用作字典键和集成员,因为这些数据结构在内部使用散列
值。 Python 不可变的内置对象是可哈希的; 可变容器(例如列表或字典)不是。 默认情况下,作为用户定义类实例的对象是可哈希的。 它们都比较不相等(除了它们本身),并且它们的哈希值是从
`id()`
派生的。
哈希性使对象可用作字典键和集成员,因为这些数据结构在内部使用哈希
值。 Python 不可变的内置对象是可哈希的; 可变容器(例如列表或字典)不是。 默认情况下,作为用户定义类实例的对象是可哈希的。 它们都比较不相等(除了它们本身),并且它们的哈希值是从
`id()`
派生的。
> **注意**:如果一个类没有定义一个`__eq __()`方法,它也不应该定义一个`__hash __()`操作。 如果它定义了`__eq __()`而不是`__hash __()`,则其实例将不能用作可
散列
集合中的项目。
> **注意**:如果一个类没有定义一个`__eq __()`方法,它也不应该定义一个`__hash __()`操作。 如果它定义了`__eq __()`而不是`__hash __()`,则其实例将不能用作可
哈希
集合中的项目。
## Python `hash()`函数
...
...
docs/ruby/71.md
浏览文件 @
f97a8985
...
...
@@ -18,7 +18,7 @@
*
[
表达式
](
expressions/
)
*
[
控制流
](
flowcontrol/
)
*
[
数组
](
arrays/
)
*
[
散列
](
hashes/
)
*
[
哈希
](
hashes/
)
*
[
OOP
](
oop/
)
*
[
OOP II
](
oop2/
)
*
[
正则表达式
](
regex/
)
...
...
docs/ruby/77.md
浏览文件 @
f97a8985
...
...
@@ -12,10 +12,10 @@ Ruby 有几种数据类型。 所有数据类型均基于类。 以下是 Ruby
*
布尔值
*
符号
*
号码
*
弦乐
*
数字
*
字符串
*
数组
*
散列
*
哈希
在以下示例中,我们具有所有重要的 Ruby 数据类型。
...
...
docs/ruby/82.md
浏览文件 @
f97a8985
...
...
@@ -55,7 +55,7 @@ $ ./create.rb
```
从输出中,我们可以看到名称哈希的字面表示。
散列
以大括号为界。 键和值与
`=>`
字符配对。
从输出中,我们可以看到名称哈希的字面表示。
哈希
以大括号为界。 键和值与
`=>`
字符配对。
`store`
方法可用于使用某些值初始化哈希。 可以使用它代替方括号。
...
...
@@ -292,7 +292,7 @@ true
这是示例的输出。
在本节的最后一个示例中,我们将从
散列
中读取值。
在本节的最后一个示例中,我们将从
哈希
中读取值。
```
ruby
#!/usr/bin/ruby
...
...
@@ -415,7 +415,7 @@ Key: 4, Value: amethyst
## Ruby 删除哈希中的对
在以下示例中,我们将关注从
散列
中删除对的方法。 这包括删除单个对的方法以及可以一步删除多个键值的方法。
在以下示例中,我们将关注从
哈希
中删除对的方法。 这包括删除单个对的方法以及可以一步删除多个键值的方法。
```
ruby
#!/usr/bin/ruby
...
...
docs/servlet/12.md
浏览文件 @
f97a8985
...
...
@@ -12,10 +12,10 @@ HTTP 标头允许客户端和服务器将附加信息与请求或响应一起传
标头有几种类型:
*
常规标头
-
适用于请求和响应,但与最终在正文中传输的数据无关。
*
请求标头
-
包含有关要获取的资源或客户端本身的更多信息。
*
响应标头
-
包含有关响应的其他信息,例如响应的位置或服务器本身(名称和版本等)。
*
实体标头
-
包含有关实体主体的更多信息,例如其内容长度或 MIME 类型。
*
常规标头
-
适用于请求和响应,但与最终在正文中传输的数据无关。
*
请求标头
-
包含有关要获取的资源或客户端本身的更多信息。
*
响应标头
-
包含有关响应的其他信息,例如响应的位置或服务器本身(名称和版本等)。
*
实体标头
-
包含有关实体主体的更多信息,例如其内容长度或 MIME 类型。
## 使用 Java Servlet 显示标头字段
...
...
docs/servlet/5.md
浏览文件 @
f97a8985
...
...
@@ -12,9 +12,9 @@ Servlet 是 Java 类,可响应特定类型的网络请求-最常见的是 HTTP
POST 请求有三种编码 HTML 表单方法:
*
应用/ x-www-form-urlencoded
*
多部分/表单数据
*
文字/纯文字
*
`application/x-www-form-urlencoded`
*
`multipart/form-data`
*
`text/plain`
`application/x-www-form-urlencoded`
是默认编码。 这些值编码在由
`&`
分隔的键值元组中。
`=`
字符用于键和值之间。 非字母数字字符采用百分比编码。 此编码类型不适用于二进制文件。
...
...
docs/servlet/8.md
浏览文件 @
f97a8985
...
...
@@ -14,11 +14,11 @@ JSTL `<c:foreach>`标签是基本的迭代标签。 它遍历各种 Java 集合
`<c:foreach>`
标记包含以下属性:
*
`items`
-
要迭代的项目集合
*
`begin`
-
起始项目的索引
*
`end`
-
结束项目的索引
*
`step`
-
迭代步骤
*
`var`
-
迭代中当前项目的变量
*
`items`
-
要迭代的项目集合
*
`begin`
-
起始项目的索引
*
`end`
-
结束项目的索引
*
`step`
-
迭代步骤
*
`var`
-
迭代中当前项目的变量
## `forEach` taglib 声明
...
...
docs/spring-boot/17.md
浏览文件 @
f97a8985
...
...
@@ -14,8 +14,8 @@ Spring Data JPA 是伞式 Spring Data 项目的一部分,该项目使实现基
在 Spring Data JPA 中,查询结果可以通过两种方式排序:
*
在 JPQL 查询中使用
ORDER BY
子句
*
将类型为
Sort
的参数添加到查询方法
*
在 JPQL 查询中使用
`ORDER BY`
子句
*
将类型为
`Sort`
的参数添加到查询方法
## Spring Boot Data JPA 排序示例
...
...
docs/spring-boot/21.md
浏览文件 @
f97a8985
...
...
@@ -451,6 +451,6 @@ City{id=7, name=Brest, population=139163}, City{id=12, name=Bucharest, populatio
*
[
Spring Boot Data JPA `@NamedQuery`教程
](
/springboot/datajpanamedquery/
)
*
[
Spring Boot Data JPA 派生查询教程
](
/springboot/datajpaderivedqueries/
)
*
[
Spring Boot Data JPA 排序教程
](
/springboot/datajpasort/
)
*
[
](
/springboot/datajpasort/
)[
Spring Boot `CrudRepository`教程
]
(/springboot/crudrepository/)
*
[
Spring Boot `CrudRepository`教程
](
/springboot/crudrepository/
)
列出
[
所有 Spring Boot 教程
](
/all/#springboot
)
。
\ No newline at end of file
docs/spring-boot/4.md
浏览文件 @
f97a8985
...
...
@@ -189,5 +189,5 @@ $ mvn spring-boot:run
在本教程中,我们展示了如何使用 Spring
`ViewControllerRegistry`
创建简单的路线。
*
[
Spring Boot PostgreSQL 教程
](
/springboot/postgresql/
)
*
[
Spring Boot
@Bean
](
/articles/springbootbean/
)
*
[
Spring Boot
`@Bean`
](
/articles/springbootbean/
)
*
[
Spring Boot `@Qualifier`注解
](
/articles/springbootqualifier/
)
\ No newline at end of file
docs/spring-boot/46.md
浏览文件 @
f97a8985
...
...
@@ -8,10 +8,10 @@ Spring 是流行的 Java 应用框架。 Spring Boot 致力于以最小的努力
Spring Boot 自动添加位于以下任何目录中的静态 Web 资源:
*
/ META-INF /资源/
*
/资源/
*
/静态的/
*
/上市/
*
`/META-INF/resources/`
*
`/resources/`
*
`/static/`
*
`/public/`
目录位于类路径或
`ServletContext`
的根目录中。
...
...
docs/spring-boot/56.md
浏览文件 @
f97a8985
...
...
@@ -10,9 +10,9 @@ Spring 是流行的 Java 应用框架,而 Spring Boot 是 Spring 的演进,
POST 请求有三种编码 HTML 表单类型:
*
应用/ x-www-form-urlencoded
*
多部分/表单数据
*
文字/纯文字
*
`application/x-www-form-urlencoded`
*
`multipart/form-data`
*
`text/plain`
`application/x-www-form-urlencoded`
是默认编码,其中值编码在由
`&`
分隔的键值元组中。
`=`
字符用于键和值之间。 非字母数字字符采用百分比编码。 此编码类型不适用于二进制文件。
...
...
docs/symfony/89.md
浏览文件 @
f97a8985
...
...
@@ -372,7 +372,7 @@ dump($response->toArray());
## HTTP 基本认证
HTTP 基本认证是一种简单的质询和响应机制,其中服务器从客户端请求凭据。 客户端在授权标头中将凭据传递给服务器。 认证信息不以任何方式加密或
散列
。 它使用 Base64 算法编码。 因此,仅将 HTTP 基本认证与
`HTTPS`
一起使用才被认为是安全的。
HTTP 基本认证是一种简单的质询和响应机制,其中服务器从客户端请求凭据。 客户端在授权标头中将凭据传递给服务器。 认证信息不以任何方式加密或
哈希
。 它使用 Base64 算法编码。 因此,仅将 HTTP 基本认证与
`HTTPS`
一起使用才被认为是安全的。
HTTP 基本认证使用 HTTP 标头中的标准字段,从而无需握手。
...
...
docs/symfony/95.md
浏览文件 @
f97a8985
...
...
@@ -61,11 +61,11 @@ $ composer dump-autoload -o
在应用中,我们将有五个命令:
*
TimeCommand-
显示当前日期和时间
*
MessageCommand-
显示来自用户输入的消息
*
ColorCommand-
以彩色显示消息
*
BooksCommand-
在表格中显示书籍列表
*
AskNameCommand-
交互式询问用户名
*
`TimeCommand`
-
显示当前日期和时间
*
`MessageCommand`
-
显示来自用户输入的消息
*
`ColorCommand`
-
以彩色显示消息
*
`BooksCommand`
-
在表格中显示书籍列表
*
`AskNameCommand`
-
交互式询问用户名
这些命令在
`src/Command`
目录中创建。 社区必须扩展
`Symfony\Component\Console\Command`
并实现其
`configure()`
和
`execute()`
方法。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录