Argon2_Elixir 项目教程
1. 项目的目录结构及介绍
Argon2_Elixir 项目的目录结构如下:
argon2_elixir/
├── c_src/
│ └── ...
├── lib/
│ └── ...
├── test/
│ └── ...
├── .formatter.exs
├── .gitignore
├── .gitmodules
├── .travis.yml
├── CHANGELOG.md
├── LICENSE.md
├── Makefile
├── Makefile.win
├── README.md
├── mix.exs
└── mix.lock
目录介绍
c_src/
: 包含 C 语言源代码,用于实现 Argon2 算法。lib/
: 包含 Elixir 代码,用于封装和调用 C 语言实现的 Argon2 算法。test/
: 包含测试代码,用于测试项目的功能。.formatter.exs
: 格式化配置文件。.gitignore
: Git 忽略文件配置。.gitmodules
: Git 子模块配置。.travis.yml
: Travis CI 配置文件。CHANGELOG.md
: 项目更新日志。LICENSE.md
: 项目许可证。Makefile
: 用于编译项目的 Makefile。Makefile.win
: 用于 Windows 平台的 Makefile。README.md
: 项目说明文档。mix.exs
: 项目的依赖和配置文件。mix.lock
: 锁定依赖版本的文件。
2. 项目的启动文件介绍
项目的启动文件主要是 mix.exs
,它定义了项目的依赖、版本、应用程序配置等信息。以下是 mix.exs
文件的部分内容:
defmodule Argon2.MixProject do
use Mix.Project
def project do
[
app: :argon2_elixir,
version: "4.0.0",
elixir: "~> 1.7",
start_permanent: Mix.env() == :prod,
deps: deps(),
compilers: [:elixir_make | Mix.compilers()],
make_targets: ["all"],
make_clean: ["clean"]
]
end
def application do
[
extra_applications: [:logger]
]
end
defp deps do
[
{:elixir_make, "~> 0.6", runtime: false},
{:comeonin, "~> 5.3"}
]
end
end
启动文件介绍
project/0
: 定义了项目的基本信息,如应用名称、版本、Elixir 版本要求、依赖等。application/0
: 定义了应用程序的配置,如额外启动的应用程序。deps/0
: 定义了项目的依赖。
3. 项目的配置文件介绍
项目的配置文件主要是 config/config.exs
,但在这个项目中,配置主要在 mix.exs
和 config/test.exs
中进行。
config/test.exs
在测试环境中,可以通过配置文件 config/test.exs
来加速测试:
import Config
config :argon2_elixir,
t_cost: 1,
m_cost: 8
配置文件介绍
t_cost
: 时间成本参数,用于控制算法运行的迭代次数。m_cost
: 内存成本参数,用于控制算法使用的内存量。
通过这些配置,可以在测试环境中加速密码哈希的计算,从而加快测试速度。
以上是 Argon2_Elixir 项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些内容能帮助你更好地理解和使用该项目。