Tink
注意:Tink 已迁移到 github.com/tink-crypto,此仓库不再活跃!
按计划,我们已将 Tink 拆分为多个 GitHub 仓库,托管在 github.com/tink-crypto。因此,我们已将此仓库设为只读,今后将不再维护。
*一个多语言、跨平台的库,提供安全、易于正确使用且不易被误用的加密 API。另请参阅:https://developers.google.com/tink*。
目录
简介
在应用中使用加密不应该让人感觉像在黑暗中耍电锯。Tink 是由 Google 的一群密码学家和安全工程师编写的加密库。它源于我们与 Google 产品团队合作的丰富经验,修复实现中的弱点,并提供简单的 API,无需密码学背景就能安全使用。
Tink 提供安全的 API,易于正确使用且不易被误用。它通过以用户为中心的设计、谨慎的实现和代码审查以及广泛的测试,减少了常见的加密陷阱。在 Google,Tink 是标准加密库之一,已在数百个产品和系统中部署。
要快速了解 Tink 的设计,请查看在 Real World Crypto 2019 上关于 Tink 的演讲的幻灯片。
当前状态
Java/Android、C++、Obj-C、Go 和 Python 已经过实地测试,可用于生产环境。最新版本是 1.7.0,发布于 2022-08-09。
Javascript/Typescript 处于 alpha 状态,仅应用于测试。请参阅此处的移除意向声明。
入门
项目文档位于 https://developers.google.com/tink。目前,它详细介绍了各种常见使用场景,并涵盖了 Java 和 Python 实现。该网站将随时间添加更多内容。
或者,您可以查看所有的示例
,它们展示了如何使用各种语言的 Tink 执行简单任务。
- Python
pip3 install tink
- Golang
go get github.com/google/tink/go/...
- Java
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.7.0</version>
</dependency>
- 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
了解更多
社区驱动的移植版本
Tink 本身支持多种语言,但仍然无法支持所有语言。幸运的是,一些用户非常喜欢 Tink,他们将其移植到了自己喜欢的语言!以下是一些值得注意的移植版本。
警告 虽然我们通常会审查这些移植版本,但在另行通知之前,我们不会维护它们,也没有计划在可预见的未来支持它们。
联系方式和邮件列表
如果您想贡献,请阅读贡献指南并向我们发送拉取请求。您还可以报告错误或提出功能请求。
如果您想与开发人员交流或获得重要产品更新的通知,可以考虑订阅我们的邮件列表。
维护者
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