Google Tink多语言跨平台加密演示

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Google Tink多语言跨平台加密演示

Tikn是什么


由Google的密码学家和安全工程师联合编写的加密库。源于与Google产品团队合作的丰富经验,提供了即便没有加密经验也可以安全使用的API。


GitHub源码地址: github.com/google/tink


通过官方demo我们可以知道Tink的使用方式。


maven配置方式导入依赖


<dependency>
  <groupId>com.google.crypto.tink</groupId>
  <artifactId>tink</artifactId>
  <version>1.2.0</version>
</dependency>


gradle 配置方式导入依赖


dependencies {
    compile("com.google.crypto.tink:tink:1.2.0")
}

 

demo演示:


import com.google.crypto.tink.Aead;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.aead.AeadFactory;
import com.google.crypto.tink.aead.AeadKeyTemplates;
import com.google.crypto.tink.config.TinkConfig;
import java.io.IOException;
import java.security.GeneralSecurityException;
public class TinkDemo {
    public static void main(String[] args) throws GeneralSecurityException, IOException {
        // 基于默认配置进行注册
        TinkConfig.register();
        // 测试用的明文字符串
        String plaintext = "明文";
        // 生成密钥
        KeysetHandle keysetHandle = KeysetHandle.generateNew(AeadKeyTemplates.AES256_CTR_HMAC_SHA256);
        // 使用密钥材料获取所选的基元的实例
        Aead aead = AeadFactory.getPrimitive(keysetHandle);
        /*
         * 加密
         * 第一个参数是plaintext(明文)
         * 第二个参数是associatedData(相关数据)
         *     可以为null,相当于一个空(零长度)字节数组。
         *     同样,解密时必须提供同样的相关数据。
         */
        // 使用基元实例来完成加密任务
        byte[] ciphertext = aead.encrypt(plaintext.getBytes(),null);
        // 解密
        byte[] decrypted = aead.decrypt(ciphertext, null);
        System.out.println(new String(decrypted));
        System.out.println(ciphertext);
    }
}


Tink 目前除了支持 java 外,还支持 Android、C++、Obj-C


目录
相关文章
|
数据安全/隐私保护 iOS开发
|
监控 JavaScript 数据安全/隐私保护
|
2月前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
2月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
2月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
63 10
|
2月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
72 10
|
2月前
|
SQL 安全 网络安全
网络安全漏洞、加密技术与安全意识的知识分享
随着互联网的普及,网络安全问题日益严重。本文将介绍网络安全漏洞的概念、类型和防范措施,以及加密技术的原理和应用。同时,强调提高个人和企业的安全意识对于防范网络攻击的重要性。
|
2月前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
2月前
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。

热门文章

最新文章