tink README

The project's README from github.com/tink-crypto/tink. As one markdown file: README.md.

Tink

NOTE: Tink moved to github.com/tink-crypto and this repo is no longer active!

As planned, we have split Tink into multiple GitHub repositories that are hosted at github.com/tink-crypto. As a consequence, we made this repository read-only and it is not going to be maintained moving forward.

A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. See also: https://developers.google.com/tink.

Index

  1. Introduction
  2. Current status
  3. Getting started
  4. Learn more
  5. Contact and mailing list
  6. Maintainers

Introduction

Using crypto in your application shouldn't have to feel like juggling chainsaws in the dark. Tink is a crypto library written by a group of cryptographers and security engineers at Google. It was born out of our extensive experience working with Google's product teams, fixing weaknesses in implementations, and providing simple APIs that can be used safely without needing a crypto background.

Tink provides secure APIs that are easy to use correctly and hard(er) to misuse. It reduces common crypto pitfalls with user-centered design, careful implementation and code reviews, and extensive testing. At Google, Tink is one of the standard crypto libraries, and has been deployed in hundreds of products and systems.

To get a quick overview of Tink design please take a look at slides from a talk about Tink presented at Real World Crypto 2019.

Current status

Java/Android, C++, Obj-C, Go, and Python are field tested and ready for production. The latest version is 1.7.0, released on 2022-08-09.

Javascript/Typescript is in an alpha state and should only be used for testing. Please see the intent to remove statement here.

Ubuntu macOS
Kokoro Ubuntu Kokoro macOS

Getting started

Documentation for the project is located at https://developers.google.com/tink. Currently, it details a variety of common usage scenarios and covers the Java and Python implementations. The site will be populated with more content over time.

Alternatively, you can look at all of the examples which demonstrate performing simple tasks using Tink in a variety of languages.

pip3 install tink
go get github.com/google/tink/go/...
<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>tink</artifactId>
  <version>1.7.0</version>
</dependency>
dependencies {
  implementation 'com.google.crypto.tink:tink-android:1.7.0'
}
cd /path/to/your/Xcode project/
pod init
pod 'Tink', '1.7.0'
pod install

Learn more

Community-driven ports

Out of the box Tink supports a wide range of languages, but it still doesn't support every language. Fortunately, some users like Tink so much that they've ported it to their favorite languages! Below you can find notable ports.

WARNING While we usually review these ports, until further notice, we do not maintain them and have no plan to support them in the foreseeable future.

Contact and mailing list

If you want to contribute, please read CONTRIBUTING and send us pull requests. You can also report bugs or file feature requests.

If you'd like to talk to the developers or get notified about major product updates, you may want to subscribe to our mailing list.

Maintainers

Tink is maintained by (A-Z):

Alumni:

tink (tink-crypto/tink)

Searching Database…

13.5K ·GitHub
archived
这是什么?Tink 是一个开源的密码学库,它的 API 设计目标是安全、易于正确使用、且很难被误用。它由 Google 的密码学家和安全工程师打造。
它是要链接进我应用里的库,还是独立运行的工具?它是一个库:把它添加到你的应用里,然后在自己的代码中调用它的密码学 API。同一套 API 设计以原生方式实现在多种语言中,并且可以跨平台使用。
我该怎么上手?阅读项目的文档站点——它会带你过一遍常见用法,目前涵盖 Java 和 Python。每种语言还有各自的 HOW-TO,仓库的 examples 文件夹则展示了多种语言下的简单任务。
我可以用哪些编程语言来使用它?Java/Android、C++、Objective-C、Go 和 Python 都经过实战检验,可以用于生产环境。JavaScript/TypeScript 还处于 alpha 阶段,仅用于测试;而 Clojure 之类的社区移植版明确不由团队维护。
这个 GitHub 仓库就是该用的那个吗?不是——Tink 已拆分到 github.com/tink-crypto 组织下的多个仓库。这个最初的仓库是只读的,以后不会再维护,所以请从 tink-crypto 获取你需要的语言版本。
它真的在生产环境中使用吗,还是仍处于实验阶段?它久经考验:在 Google,Tink 是标准密码学库之一,已部署在数百个产品和系统中。
为什么 Google 要新造一个密码学库,而不是用现成的?它源自团队在修复 Google 产品团队密码学弱点方面的经验。目标是提供不需要密码学背景也能安全使用的简单 API,并通过以用户为中心的设计、细致的实现、代码评审和大量测试来减少常见陷阱。
它能帮忙管理密钥,还是密钥管理得我自己来?密钥管理是项目的核心功能之一:文档单独讲解了这部分,还有一个叫 'Tinkey' 的配套工具专门用于管理密钥。
这里最新的版本是多少?在这个仓库里是 1.7.0 版,发布于 2022-08-09。由于项目已拆分为 github.com/tink-crypto 下按语言划分的仓库,更新的版本请到那里查看。
What are similar projects?RestKit, libsodium, grpc, jjwt, matrix, fmdb, wcdb, CryptoSwift
Size
59.6 MB
Stars
13.5K
Age
12y
Commits · 90 Days