tink-crypto/tink

GitHub: tink-crypto/tink

Tink 是 Google 开发的一款跨语言加密库,旨在通过简洁且「难于误用」的 API 设计,为开发者提供安全、一致的密码学操作支持。

Stars: 13565 | Forks: 1184

# Tink 一个多语言、跨平台的库,提供安全、易于正确使用且难以(较难)被误用的加密 API。另请参阅:https://developers.google.com/tink。 ## 目录 1. [Introduction](#introduction) 2. [Current status](#current-status) 3. [Getting started](#getting-started) 4. [Learn more](#learn-more) 5. [Contact and mailing list](#contact-and-mailing-list) 6. [Maintainers](#maintainers) ## 简介 在应用程序中使用加密技术[不应该][devs_are_users_too_slides]感觉像是在黑暗中玩电锯杂耍。Tink 是由 Google 的一组密码学家和安全工程师编写的加密库。它诞生于我们与 Google 产品团队合作的丰富经验、[fixing weaknesses in implementations](https://github.com/google/wycheproof),并提供无需密码学背景即可安全使用的简单 API。 Tink 提供的安全 API 易于正确使用,且难以(较难)被误用。它通过以用户为中心的设计、仔细的实现和代码审查以及广泛的测试,减少了常见的加密陷阱。在 Google,Tink 是标准的加密库之一,已部署在数百个产品和系统中。 要快速了解 Tink 的设计,请查看在 [Real World Crypto 2019](https://rwc.iacr.org/2019/) 发表的[关于 Tink 的演讲][tink_talk_recording]的[幻灯片][tink_talk_slides]。 ## 当前状态 [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 状态,仅应用于测试。请参阅移除意向声明 [here](https://github.com/google/tink/issues/689)。 **`Ubuntu`** | **`macOS`** ----------------------------------- | --------------------------------- [![Kokoro Ubuntu](https://storage.googleapis.com/tink-kokoro-build-badges/tink-ubuntu.png)](#) | [![Kokoro macOS](https://storage.googleapis.com/tink-kokoro-build-badges/tink-macos.png)](#) ## 入门指南 该项目的文档位于 https://developers.google.com/tink。目前,它详细介绍了各种常见的应用场景,并涵盖了 Java 和 Python 的实现。随着时间的推移,该网站将填充更多内容。 或者,您可以查看所有的 [`examples`],这些示例演示了如何使用各种语言通过 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) * [Security and Usability Design Goals](docs/SECURITY-USABILITY.md) * [Supported Crypto Primitives](docs/PRIMITIVES.md) * [Key Management](docs/KEY-MANAGEMENT.md) * [Managing keys with Tinkey](docs/TINKEY.md) * [Known Issues](docs/KNOWN-ISSUES.md) ## 社区驱动的移植 Tink 开箱即用支持多种语言,但它仍然不支持所有语言。幸运的是,一些用户非常喜欢 Tink,以至于他们将其移植到了自己喜欢的语言中!您可以在下面找到一些值得关注的移植版本。 **警告**:虽然我们通常会审查这些移植版本,但在另行通知之前,我们不维护它们,也没有计划在可预见的未来支持它们。 * [Clojure](https://github.com/perkss/tinklj) ## 维护者 Tink 由以下人员维护(按 A-Z 排序): - 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++, CVE, CVE监控, DNS解析, DSL, Go, Golang, Google, Java, JSON输出, JS文件枚举, Nuclei, POC验证, ProjectDiscovery, Python, Ruby工具, YAML, 云配置检测, 加密, 域名枚举, 域名枚举, 威胁情报, 安全库, 安全编程, 密码学, 密钥管理, 对称加密, 开发者工具, 开源项目, 手动系统调用, 数字签名, 数据保护, 数据擦除, 无后门, 日志审计, 消息认证码, 混合加密, 漏洞扫描器, 网络安全, 自动化审计, 蓝队防御, 逆向工具, 隐私保护, 非对称加密