- 浏览: 215272 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (109)
- C# (29)
- ASP.NET (30)
- MSSQL (29)
- javascript (9)
- cmd (3)
- ORACLE (4)
- log4j (1)
- window (5)
- FTP (1)
- Shell (1)
- java (1)
- IIS (7)
- html (11)
- SQL (3)
- Jquery (11)
- IE (3)
- 火狐、谷歌 (2)
- wince (2)
- JSON (5)
- List (1)
- Foreach (1)
- SQLhelper (1)
- Ajax (1)
- Firebird (1)
- mysql (7)
- js (2)
- jQuery.autocomplete (1)
- dataTable (1)
- Http (1)
- get (1)
- datetime (1)
- powshell (1)
- URL Protocol (1)
- Office (1)
- Excel (1)
- ASP.NET,算法,秘钥 (1)
- 浏览器 (1)
- Tomcat (1)
最新评论
1:方法一
通过账号+日期进行AES128位加密,取其前面16位,生成根密钥,
在根据数字1-9,字母a-z,特殊符号:[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]
后16位规则如下:
N=数字
Z=字母
T=特殊字符
x=数组下标,初始值1 (周一至周末 初始值变化为1-7)
ScrKey=生成秘钥
ScrKey=Nx+Zx+Tx
ScrKey+=N(x+1)+Z(x+1)+T(x+1)
ScrKey+=N(x+2)+Z(x+2)+T(x+2)
以此类推直到16位字符 若
Nx大于9时,则第一次取最大,第二次以后的按照最大值减去Nx生成的位数
ScrKey=8+G+$
ScrKey+=9+N+|
ScrKey+=(9-2)+U+,
以此类推直到16位字符
密钥=根密钥+ScrKey
密钥=密钥 MD5加密生成32位
2:方法二
账号+日期进行AES128位加密,取其前面16位,生成根密钥。
根据该方法生成后16位字符,进行Base64编码获取其前面16位字符
根据日期偶数日和奇数日来替换密钥规则
偶数日:
密钥=根密钥+Key
奇数日:
密钥=Key+根密钥
最后:
密钥=密钥 MD5加密生成32位
通过账号+日期进行AES128位加密,取其前面16位,生成根密钥,
在根据数字1-9,字母a-z,特殊符号:[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]
后16位规则如下:
N=数字
Z=字母
T=特殊字符
x=数组下标,初始值1 (周一至周末 初始值变化为1-7)
ScrKey=生成秘钥
ScrKey=Nx+Zx+Tx
ScrKey+=N(x+1)+Z(x+1)+T(x+1)
ScrKey+=N(x+2)+Z(x+2)+T(x+2)
以此类推直到16位字符 若
Nx大于9时,则第一次取最大,第二次以后的按照最大值减去Nx生成的位数
ScrKey=8+G+$
ScrKey+=9+N+|
ScrKey+=(9-2)+U+,
以此类推直到16位字符
密钥=根密钥+ScrKey
密钥=密钥 MD5加密生成32位
2:方法二
账号+日期进行AES128位加密,取其前面16位,生成根密钥。
根据该方法生成后16位字符,进行Base64编码获取其前面16位字符
根据日期偶数日和奇数日来替换密钥规则
偶数日:
密钥=根密钥+Key
奇数日:
密钥=Key+根密钥
最后:
密钥=密钥 MD5加密生成32位
发表评论
-
C# 分层加密算法
2018-11-07 17:45 993使用PBKDF2算法方案,该算法是一个标准的密钥导出算法,可用 ... -
Microsoft Office Excel 不能访问文件“EXCEL.xls”
2018-08-25 16:31 1144Microsoft Office Excel 不能访问文件“X ... -
微信分享
2017-04-20 14:15 671/// <summary> // ... -
web.config 为某个单独页面设置编码格式
2017-03-31 18:28 1145原文链接:http://www.cnblogs.com/m ... -
json日期格式转换成日期字符串
2016-08-29 10:31 2177这里进行去掉json日期的\date\字符串: st ... -
C# http get请求 判断是否存在该图片信息
2016-08-29 10:25 983/// <summary> /// h ... -
C# 将json转换成Datatable
2016-08-29 10:19 1316/// <summary> /// 将 ... -
jQuery.autocomplete.js乱码问题
2016-07-12 14:01 7141、首先修改jQuery.autocomplete.js 文件 ... -
C# 缓存
2016-06-24 15:27 759using System; using System.Col ... -
jquery table 操作
2014-12-06 19:21 977jQuery在客户端操作Table ... -
Firebird单击嵌入式非安装版使用
2014-03-12 18:48 2470Firebird单击嵌入式非安 ... -
C#开发常用的工具类
2014-02-26 13:47 1365using System; using System.Col ... -
SQLhelper帮助类
2014-02-26 13:33 4666using System; using System.Col ... -
C#中将JSon数据转换成实体类,将实体类转换成Json
2014-02-26 13:22 43966using System; using System.Col ... -
C#反射机制介绍
2014-02-25 11:26 1757反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编 ... -
LIST集合已修改;可能无法执行枚举操作。
2014-02-18 23:17 1016foreach是取只读的,在取的时候数据不 能变(包括修改,删 ... -
COM 类工厂中 CLSID 为 {A86BB4D8-209D-40E1-87A6-7AA236094FAD} 的组件时失败,原因是出现以下错误: 800401
2013-09-12 13:21 1613第一: 检查dll文件是否存在 第二: 兼容问题,看i ... -
ASP.NET中url传递中文的解决方案,传递参数为汉字时出现乱码等问题
2013-09-11 16:13 911来源:http://hi.baidu.com/netkey/i ... -
常用的WebService一览表
2013-09-05 10:43 690转载:http://blog.csdn.net/wangzh3 ... -
批量插入数据 C# SqlBulkCopy使用
2013-09-05 10:31 959private static void Dat ...
相关推荐
此外,项目可能还包括了密钥和IV的生成、存储和加载机制,以及错误处理和日志记录功能。 总的来说,C#中的AES加密解密是一个涉及密钥管理、初始化向量选择、流处理和模式配置的过程。通过理解这些基本原理,你可以...
1. **秘钥生成**:允许用户生成符合AES标准的随机秘钥。 2. **加密**:使用用户提供的秘钥对数据进行加密,生成密文。 3. **解密**:使用相同的秘钥将密文还原为原始数据。 4. **秘钥管理**:安全地存储和管理秘钥,...
在本案例中,我们将重点关注如何使用OpenSSL工具生成秘钥,这是构建安全网络通信的基础。 首先,我们来理解“秘钥”在加密中的作用。秘钥是一种用于解密加密过的数据的特殊代码。在SSL(Secure Socket Layer)或其...
标题中的“128位AES算法”指的是Advanced Encryption Standard(高级加密标准),它是一种广泛用于保护数据安全的块加密算法。AES使用128、192或256位的密钥,其中128位是标准选择,提供足够的安全性且效率较高。AES...
标题中的“支持32位密钥的AES加解密”是指在Java开发环境中,使用AES(Advanced Encryption Standard)加密算法并允许使用长度为256位(即32字节)的密钥进行数据的加密与解密。AES是目前广泛应用的对称加密算法,以...
本示例中,生成了16*n byte的秘钥,这意味着它可能是128位或更高位的密钥,因为一个16字节(128位)的密钥足以满足大多数需求。 AES加密的过程通常包括以下步骤: 1. 生成密钥:使用`KeyGenerator`类生成AES密钥。 ...
首先,AES的密钥生成涉及`KeyGenerator`类,它是Java Cryptography Architecture (JCA)的一部分,负责根据特定的算法生成密钥。在Java代码中,我们首先需要获取一个`KeyGenerator`实例,指定算法为"AES"。这可以通过...
2. 加密函数:这个函数接收明文字符串和密钥作为输入,通过AES算法生成密文。可能采用的模式有ECB(电子密码本)、CBC(密码块链接)、CFB(密文反馈)或OFB(输出反馈)等,其中CBC模式由于其良好的安全性通常被...
AES,全称为Advanced Encryption Standard(高级加密标准),是一种强大的块密码,广泛用于保护敏感数据,包括在网络上传输的数据。在前端应用中,使用AES加密可以保护用户信息的安全,防止数据在传输过程中被窃取或...
1. 密钥生成:生成符合AES要求的随机密钥,通常为128位、192位或256位。 2. 密钥扩展:将主密钥扩展为足够多的轮密钥,供加密和解密过程使用。 3. 明文处理:将待加密的数据分割成128位的块,如果数据长度不是128位...
对称密钥加密中,发送方和接收方使用相同的密钥进行加密和解密,如DES和AES。而非对称密钥加密,如RSA算法,采用一对公钥和私钥,公钥可以公开,而私钥必须保密。 实验 4-1 描述的是RSA算法的密钥生成过程。RSA是一...
openssl genpkey -algorithm RSA -aes256 -out newkey_encrypted.pem -pkeyopt rsa_keygen_bits:2048 ``` 然后在每次使用该密钥时,你需要输入设置的密码。 5. 有时,你可能需要将私钥转换为其他格式,如PKCS#8...
AES-128-CBC(Advanced Encryption Standard with a 128-bit Cipher Block Chaining mode)是一种广泛应用的对称加密算法,主要用于数据的保护和安全传输。AES是基于替换和置换的块密码,由NIST(美国国家标准与技术...
这个类可能会包含初始化向量(IV)的生成、密钥的处理、以及使用AES算法进行数据加解密的方法。AES加密过程通常包括选择一个密钥和初始化向量,然后通过AES算法的多个轮操作将明文转化为密文;解密则相反,用同样的...
流程包括:初始化Cipher对象、设置工作模式(如ECB、CBC等)、生成秘钥并设置、最后执行加密操作。 5. **解密AES-128** 解密过程与加密类似,也需要相同的128位秘钥。初始化Cipher对象时需设置解密模式,然后使用...
2. **密钥交换**:客户端使用服务器的公钥生成一个随机的AES密钥,并加密这个密钥,然后发送给服务器。 3. **数据加密**:客户端使用AES密钥加密HTTP请求的敏感部分,如用户名、密码等,然后发送给服务器。 4. **...
Java的`javax.crypto`包提供了AES加密解密的相关API,包括`Cipher`类用于执行加密和解密操作,`KeyGenerator`生成秘钥,以及`SecretKeySpec`用于创建AES秘钥对象。Java工具类可能包含静态方法,如`encrypt(String ...
- **加密算法**:秘钥通常基于特定的加密算法(如RSA、AES等)生成,确保其唯一性和安全性。 - **用户信息绑定**:为了进一步提高安全性,秘钥可能还会与用户的特定信息(如硬件序列号、MAC地址等)进行绑定。 2. ...
1. 创建秘钥:使用`KeyGenerator`生成16位的AES秘钥。 ```java KeyGenerator keyGen = KeyGenerator.getInstance("AES"); keyGen.init(128); // 128位秘钥,也可设置为192或256位 SecretKey secretKey = keyGen....
这样的实现通常会包括密钥扩展功能,因为AES的每一轮都需要一个不同的子密钥,这些子密钥由原始密钥通过特定的扩展算法生成。 在编程实现AES时,需要注意以下几点: 1. 密钥处理:根据密钥长度,执行正确的密钥扩展...