RSA算法:有个文章关于RSA原理讲的不错:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.htmlRSA 相关名词RSA代表的是一种算法PKCS 代表的这种算法的一系列标准 原始算法定义:RSA的算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。
转载 2023-07-21 23:28:40
97阅读
reStructuredText 是扩展名为.rst的纯文本文件,含义为"重新构建的文本",也被简称为:RST或reST;是Python编程语言的Docutils项目的一部分,Python Doc-SIG (Documentation Special Interest Group)。该项目类似于Java的JavaDoc或Perl的POD项目。 Docutils 能够从Python程序中提取注释和信
MD5和RSA是网络传输中最经常使用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了。但这两种算法使用环境有差异,刚好互补。一、MD5算法首先MD5是不可逆的,仅仅能加密而不能解密。比方明文是yanzi1225627,得到MD5加密后的字符串是:14F2AE15259E2C276A095E7394DA0CA9  但不能由后面一大串倒推出yanzi1225627.因此能够用来
有个需求:iOS客户端给密码RSA加密,传到java后台,解密。JAVA和IOS各自找了RSA的算法实现代码,都能正常根据密钥对加解密。问题是各自使用对方的密钥对就不能加解密成功。原来在用mac自带的openssl生成的密钥对文件是X509编码格式的。而JAVA所需的私钥文件是PKCS#8编码格式的,所以要将在mac系统中生成的私钥文件转下码就行了。常见证书格式及相互转换 PKCS 全称是 Pub
AES加密是现在软件行业比较常用的敏感信息加密技术。AES是一种对称加密技术,即加密密钥和解密密钥相同。根据AES官方的规定,AES密钥的长度只能是128、192或256位。 下面是使用JAVA随机生成AES密钥的代码。package org.tree.AESGenerator.util; import org.apache.commons.codec.binary.Base64; impor
转载 2023-06-13 20:33:50
139阅读
RSA公开密钥算法RSA算法是Merkle背包算法出现后的第一个较为完善的公开密钥算法。 包含公开密钥和私人密钥,如果Alice想发送消息给Bob,应该怎么做呢?Alice用公开密钥对消息加密Alice将加密后的密文发送给BobBob用私人密钥对密文进行解密产生两个密钥的方法:选取两个大素数和,为了安全,两数的长度一样长计算乘积然后随机选取加密密钥,并且和互素最后使用扩展欧几里得算法,得到解密密钥
各种加密算法不可逆性算法:加密后的结果,不可逆向算出明文。如md5,加密结果固定,不安全,弱密码可以通过穷举法反推出明文。 对称加密算法:加密和解密使用同一个密码。如AES,加密结果固定。 非对加密算法:加密和解密使用不同的密码。如RSA,每次加密结果是不同的。根据已经披露的文献,目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可
转载 2024-01-19 22:59:55
38阅读
首先需要强调---无论是python2还是python3都可以理解成是Unicode编码,但是在电脑硬盘上存储是按照不同的映射关系的。Python的encode和decode 首先明白一件事情,之前说过Unicode将所有的字符都对应上了相应的码点,而UTF-8或者ASCII码不过是对应从Unicode到字节的映射方式,既然有映射方式,那么就有映射方向。我们把从Unicode到字节码(byte s
转载 2024-01-24 10:24:35
49阅读
# 如何实现JAVA DER证书 ## 一、流程概述 首先,让我们来看一下实现JAVA DER证书的整个流程: | 步骤 | 操作 | |------|------| | 1 | 生成密钥对 | | 2 | 生成证书请求 | | 3 | 签发证书 | | 4 | 使用证书 | 接下来,让我们一步步来进行详细说明。 ## 二、详细步骤 ### 1. 生成密钥对 在JAVA中,我们可以使
原创 2024-06-08 06:13:13
65阅读
# Java中的DER文件解析:一个简单的指南 ### 引言 在Java开发中,DER(Distinguished Encoding Rules)文件通常用于存储和交换密钥、证书等安全信息。理解如何处理DER文件对于安全编程来说至关重要。本篇文章将介绍什么是DER文件,以及如何在Java中解析DER文件的基本示例。 ### 什么是DER文件? DER文件是一种二进制格式,用于编码数据,尤其
原创 2024-08-02 03:57:02
125阅读
## 用Java读取DER证书文件 在网络通信中,SSL/TLS协议被广泛应用于加密数据传输,保护通信安全。在SSL/TLS协议中,数字证书扮演着重要的角色,用于验证通信双方的身份和加密通信内容。其中,DER(Distinguished Encoding Rules)是一种常见的证书编码格式,通常以二进制形式存储。 本文将介绍如何使用Java编程语言读取DER格式的证书文件,并提供相应的代码示
原创 2024-04-30 04:02:36
94阅读
命名规范数组类型与中括号紧挨相连来表示数组正例:定义整形数组 int[] arrayDemo;反例:在 main 参数中,使用 String args[]来定义。POJO 类中布尔类型的变量POJO 类中布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型 Boolean isDeleted 的属性,它的方法也是 isDeleted(),RPC阿里巴巴
# Java加载DER证书的实现方法 ## 导言 在Java开发中,有时候我们需要加载DER格式的证书。DER(Distinguished Encoding Rules)是一种常见的证书编码格式,它以二进制的形式存储证书信息。本文将指导你如何使用Java加载DER证书,并提供了详细的步骤和代码示例。 ## 流程 首先,我们来看一下加载DER证书的整个流程,如下表所示: | 步骤 | 描述 |
原创 2024-01-14 06:44:32
197阅读
# 使用Java生成DER证书 在现代信息安全中,数字证书扮演着至关重要的角色,它们用于对通信双方进行身份验证以及加密通信。DER(Distinguished Encoding Rules)是一种二进制编码格式,广泛应用于数字证书的存储和传输。本文将为您介绍如何使用Java生成DER格式的数字证书,并提供相关的代码示例。 ## 基础知识 在介绍代码之前,我们首先来了解一下数字证书和DER的基
原创 9月前
163阅读
# 生成DER文件的流程 在Java中生成DER文件的过程可以分为以下几个步骤: 1. 创建密钥对:首先需要生成一个密钥对,包括私钥和公钥。 2. 生成证书请求:使用私钥生成一个证书请求,该请求包含了希望获得证书的相关信息,比如组织名称、域名等。 3. 向CA申请证书:将证书请求发送给证书颁发机构(CA),申请颁发证书。 4. 验证证书请求:CA会对证书请求进行验证,确保证书请求的合法性
原创 2024-01-20 07:26:19
141阅读
# JAVA 读取DER证书 ## 简介 在网络通信中,证书是一种用于验证通信双方身份的重要工具。其中DER证书是一种常见的证书格式,它基于二进制编码,通常用于安全通信协议中。在JAVA中,我们可以通过一些API来读取和解析DER证书,以便进行安全验证和身份识别。 ## DER证书格式 DER证书是一种二进制格式的证书,它通常包含公钥、证书颁发者、有效期等信息,并使用ASN.1编码。DER证书
原创 2024-06-06 04:41:18
167阅读
# Java实现DER编码 ## 什么是DER编码 DER(Distinguished Encoding Rules)编码是一种用于编码和解码二进制数据的规则,常用于密码学和网络通信中。DER编码是ASN.1(Abstract Syntax Notation One)的一种表示形式,ASN.1是一种用于描述数据结构和交换数据的标准。 ASN.1定义了一种语法,用于描述数据类型和数据结构。DE
原创 2024-01-16 03:48:25
346阅读
# 实现java DER编码 解码 ## 整体流程 首先,我们需要了解DER编码和解码的基本概念。DER(Distinguished Encoding Rules)是一种ASN.1(Abstract Syntax Notation One)的编码规则,用于对数据进行序列化和反序列化。在Java中,我们可以使用Bouncy Castle库来实现DER编码和解码。 下面是实现DER编码和解码的步
原创 2024-04-17 06:25:08
431阅读
Java编码问题汇总工作中经常遇到java编码问题,由于缺乏研究,总是无法给出确切的答案,这个周末在网上查了一些资料,在此做些汇总。java中读取文件时应该采用什么编码?Java读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new String(byte[]);把字节数组转换
很多人容易把内存结构跟内存模型搞混。内存结构就是上图中内存空间这些东西,而Java内存模型,完全是另外的一个东西。什么是内存模型在多CPU的系统中,每个CPU都有多级缓存,一般分为L1、L2、L3缓存,因为这些缓存的存在,提供了数据的访问性能,也减轻了数据总线上数据传输的压力,同时也带来了很多新的挑战,比如两个CPU同时去操作同一个内存地址,会发生什么?在什么条件下,它们可以看到相同的结果?这些都
  • 1
  • 2
  • 3
  • 4
  • 5