tink-crypto/tink
GitHub: tink-crypto/tink
Tink是一个多语言、跨平台的加密库,提供安全、易于使用且难以误用的加密API。
Stars: 13541 | Forks: 1185
# Tink -> Tink
*A多语言、跨平台库,提供安全、易于正确使用且难以误用的加密API。另请参阅:
https://developers.google.com/tink*。
## 索引
1. [简介](#introduction)
2. [当前状态](#current-status)
3. [入门](#getting-started)
4. [了解更多](#learn-more)
5. [联系和邮件列表](#contact-and-mailing-list)
6. [维护者](#maintainers)
## 简介
在您的应用程序中使用加密[不应该][devs_are_users_too_slides]
感觉像在黑暗中玩链锯杂技。Tink是由谷歌的一组密码学家和安全工程师编写的加密库。它源于我们与谷歌产品团队合作的经验,
[修复实现中的弱点](https://github.com/google/wycheproof),
并提供简单且安全的API,无需密码学背景即可使用。
Tink提供安全且易于正确使用且难以误用的API。它通过以用户为中心的设计、仔细的实现和代码审查以及广泛的测试来减少常见的加密陷阱。在谷歌,Tink是标准加密库之一,已在数百个产品和系统中部署。
要快速了解Tink的设计,请查看[幻灯片][tink_talk_slides],该幻灯片来自[关于Tink的演讲][tink_talk_recording],在[Real World Crypto 2019](https://rwc.iacr.org/2019/)上展出。
## 当前状态
[Java/Android](docs/JAVA-HOWTO.md), [C++](docs/CPP-HOWTO.md),
[Obj-C](docs/OBJC-HOWTO.md), [Go](docs/GOLANG-HOWTO.md), 和
[Python](docs/PYTHON-HOWTO.md) 已经过现场测试,并已准备好投入生产。最新版本是 [1.7.0](https://github.com/google/tink/releases/tag/v1.7.0),
发布于 2022-08-09。
Javascript/Typescript 处于alpha状态,仅应用于测试。
请参阅[此处](https://github.com/google/tink/issues/689)的删除意向声明。
**`Ubuntu`** | **`macOS`**
----------------------------------- | ---------------------------------
[](#) | [](#)
## 入门
项目的文档位于 https://developers.google.com/tink。
目前,它详细介绍了各种常见使用场景,并涵盖了Java和Python实现。随着时间的推移,该网站将包含更多内容。
或者,您还可以查看所有[示例],这些示例展示了使用Tink在各种语言中执行简单任务的方法。
* Python
```
pip3 install tink
```
* Golang
```
go get github.com/google/tink/go/...
```
* Java
```
com.google.crypto.tink
tink
1.7.0
```
* Android
```
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.7.0'
}
```
* Objective-C/iOS
```
cd /path/to/your/Xcode project/
pod init
pod 'Tink', '1.7.0'
pod install
```
## 更多了解
* [Java HOW-TO](docs/JAVA-HOWTO.md)
* [C++ HOW-TO](docs/CPP-HOWTO.md)
* [Obj-C HOW-TO](docs/OBJC-HOWTO.md)
* [Go HOW-TO](docs/GOLANG-HOWTO.md)
* [Python HOW-TO](docs/PYTHON-HOWTO.md)
* [安全和可用性设计目标](docs/SECURITY-USABILITY.md)
* [支持的加密原语](docs/PRIMITIVES.md)
* [密钥管理](docs/KEY-MANAGEMENT.md)
* [使用Tinkey管理密钥](docs/TINKEY.md)
* [已知问题](docs/KNOWN-ISSUES.md)
## 社区驱动的端口
Tink支持广泛的编程语言,但仍不支持所有语言。幸运的是,一些用户非常喜欢Tink,因此将其移植到他们最喜欢的语言中!以下是一些值得注意的端口。
**警告**:虽然我们通常会审查这些端口,但直到另行通知,我们不会维护它们,也没有计划在未来可预见的未来提供支持。
* [Clojure](https://github.com/perkss/tinklj)
## 联系和邮件列表
如果您想贡献,请阅读[CONTRIBUTING](docs/CONTRIBUTING.md)并发送给我们pull请求。您还可以报告错误或提出功能请求。
如果您想与开发者交谈或获取主要产品更新的通知,您可能想订阅我们的[邮件列表][tink_mailing_list_url]。
## 维护者
Tink由以下人员维护(按字母顺序):
- Moreno Ambrosin
- Taymon Beal
- Daniel Bleichenbacher
- William Conner
- Thai Duong
- Thomas Holenstein
- Stefan Kölbl
- Charles Lee
- Cindy Lin
- Fernando Lobato Meeser
- Atul Luykx
- Rafael Misoczki
- Sophie Schmieg
- Laurent Simon
- Elizaveta Tretiakova
- Jürg Wullschleger
校友:
- Haris Andrianakis
- Tanuj Dhir
- Quan Nguyen
- Bartosz Przydatek
- Enzo Puig
- Veronika Slívová
- Paula Vidas
- Cathie Yun
- Federico Zalcberg
标签:Android, API, C++, CMS安全, DSL, Go, Google, JavaScript, JS文件枚举, Nuclei, Objective-C, Python, Ruby工具, TypeScript, 产品安全, 代码审查, 加密实现, 加密库, 域名枚举, 多语言, 安全, 安全工程, 安全插件, 安全漏洞修复, 安全设计, 密码学, 开源, 手动系统调用, 数据擦除, 无后门, 日志审计, 测试, 超时处理, 逆向工具