📝 Java密码学教程
15篇技术文档📅  最后修改于: 2020-11-15 03:43:14        🧑  作者: Mango
Java密码体系结构(JCA)是一组API,用于实现现代密码学的概念,例如数字签名,消息摘要和证书。该规范可帮助开发人员在其应用程序中集成安全性。本教程已为初学者准备,使他们了解JCA的基础知识。所有示例均使用Java编程语言给出,因此,需要有关Java编程语言的基本概念。先决条件对于本教程,假定读者具有Java编程语言的先验知识。...
📅  最后修改于: 2020-11-15 03:43:32        🧑  作者: Mango
密码术是制造能够提供信息安全性的密码系统的艺术和科学。密码学处理数字数据的实际保护。它指的是基于数学算法的机制设计,这些机制可提供基本的信息安全服务。您可以将密码学看作是一个大型工具箱的建立,其中包含安全应用程序中的不同技术。什么是密码分析?破解密文的技术和科学被称为密码分析。密码分析是密码学的姊妹分支,它们都并存。加密过程导致密文用于传输或存储。它涉及到旨在破解密码机制的研究。在新密码技术的设计...
📅  最后修改于: 2020-11-15 03:43:57        🧑  作者: Mango
哈希函数非常有用,并且几乎出现在所有信息安全应用程序中。哈希函数是一种数学函数,可将数字输入值转换为另一个压缩数字值。哈希函数的输入为任意长度,但输出始终为固定长度。哈希函数返回的值称为消息摘要或简称为哈希值。下图说明了哈希函数。Java提供了一个名为MessageDigest的类,该类属于包java.security。此类支持SHA-1,SHA 256,MD5等算法,以将任意长度的消息转换为消息...
📅  最后修改于: 2020-11-15 03:44:24        🧑  作者: Mango
MAC(Message甲uthenticationÇODE)算法是对称密钥密码技术,以提供消息验证。为了建立MAC进程,发送方和接收方共享一个对称密钥K。本质上,MAC是在基础消息上生成的加密校验和,并与消息一起发送以确保消息认证。下图描述了使用MAC进行身份验证的过程-在Java中,javax.crypto软件包的Mac类提供了消息身份验证代码的功能。请按照下面给出的步骤使用此类创建消息身份验证...
📅  最后修改于: 2020-11-15 03:44:42        🧑  作者: Mango
密码系统是密码技术及其随附基础结构的实现,以提供信息安全服务。密码系统也称为密码系统。基本密码系统的各个组成部分是明文,加密算法,密文,解密算法,加密密钥和解密密钥。哪里,加密密钥是发件人已知的值。发送者将加密密钥与明文一起输入加密算法,以计算密文。解密密钥是接收者已知的值。解密密钥与加密密钥有关,但并不总是相同。接收器将解密密钥与密文一起输入解密算法中,以便计算明文。从根本上讲,根据加密解密算法...
📅  最后修改于: 2020-11-15 03:45:06        🧑  作者: Mango
使用/生成的密钥和证书存储在称为密钥库的数据库中。默认情况下,此数据库存储在名为.keystore的文件中。您可以使用java.security包的KeyStore类访问此数据库的内容。这管理三个不同的条目,即PrivateKeyEntry,SecretKeyEntry,TrustedCertificateEntry。私钥项SecretKeyEntry可信证书条目在密钥库中存储密钥在本部分中,我们...
📅  最后修改于: 2020-11-15 03:45:36        🧑  作者: Mango
在本章中,我们将学习如何使用Java密码学从密钥库中检索密钥。要从密钥库中检索密钥,请遵循以下步骤。步骤1:创建一个KeyStore对象java.security包的KeyStore类的getInstance()方法接受一个表示密钥库类型的字符串值,并返回一个KeyStore对象。如下所示,使用此方法创建KeyStore类的对象。步骤2:加载KeyStore对象KeyStore类的load()方法...
📅  最后修改于: 2020-11-15 03:45:55        🧑  作者: Mango
Java提供了KeyGenerator类,该类用于生成秘密密钥,并且该类的对象可重用。要使用KeyGenerator类生成密钥,请遵循以下步骤。步骤1:创建一个KeyGenerator对象KeyGenerator类提供了getInstance()方法,该方法接受表示所需密钥生成算法的String变量,并返回生成秘密密钥的KeyGenerator对象。如下所示,使用getInstance()方法创建...
📅  最后修改于: 2020-11-15 03:46:14        🧑  作者: Mango
Java提供了KeyPairGenerator类。此类用于生成成对的公钥和私钥。要使用KeyPairGenerator类生成密钥,请遵循以下步骤。步骤1:创建一个KeyPairGenerator对象KeyPairGenerator类提供了getInstance()方法,该方法接受表示所需密钥生成算法的String变量,并返回生成密钥的KeyPairGenerator对象。如下所示,使用getIns...
📅  最后修改于: 2020-11-15 03:46:46        🧑  作者: Mango
数字签名使我们可以验证签名的作者,日期和时间,并对消息内容进行身份验证。它还包括用于其他功能的身份验证函数。数字签名的优势在本节中,我们将了解要求使用数字签名的各种原因。实施数字签名进行通信有多种原因-认证方式数字签名有助于验证消息源。例如,如果一家银行的分支机构向中央办公室发送了一条消息,要求更改帐户余额。如果中心办公室无法验证从授权来源发送的消息,则执行此请求可能是一个严重错误。廉洁邮件签名后...
📅  最后修改于: 2020-11-15 03:47:19        🧑  作者: Mango
您可以使用Java创建数字签名,并按照以下步骤进行验证。步骤1:创建一个KeyPairGenerator对象KeyPairGenerator类提供了getInstance()方法,该方法接受表示所需密钥生成算法的String变量,并返回生成密钥的KeyPairGenerator对象。如下所示,使用getInstance()方法创建KeyPairGenerator对象。步骤2:初始化KeyPairG...
📅  最后修改于: 2020-11-15 03:47:46        🧑  作者: Mango
您可以使用javax.crypto包的Cipher类加密给定的数据。请按照以下步骤使用Java加密给定数据。步骤1:创建一个KeyPairGenerator对象KeyPairGenerator类提供了getInstance()方法,该方法接受表示所需密钥生成算法的String变量,并返回生成密钥的KeyPairGenerator对象。如下所示,使用getInstance()方法创建KeyPairG...
📅  最后修改于: 2020-11-15 03:48:21        🧑  作者: Mango
您可以使用javax.crypto包的Cipher类解密加密的数据。请按照下面给出的步骤使用Java解密给定数据。步骤1:创建一个KeyPairGenerator对象KeyPairGenerator类提供了getInstance()方法,该方法接受表示所需密钥生成算法的String变量,并返回生成密钥的KeyPairGenerator对象。如下所示,使用getInstance()方法创建KeyPa...
📅  最后修改于: 2020-11-15 03:48:38        🧑  作者: Mango
以下资源包含有关Java密码学的其他信息。请使用它们来获得有关此方面的更深入的知识。Java密码学的有用链接Java密码学-Java密码学的官方网站参考。有关Java密码学的有用书籍要在此页面上注册您的网站,请发送电子邮件至contact@tutorialspoint.com...
📅  最后修改于: 2020-11-15 03:49:02        🧑  作者: Mango
Java密码体系结构(JCA)是一组API,用于实现现代密码学的概念,例如数字签名,消息摘要和证书。该规范可帮助开发人员在其应用程序中集成安全性。...