`

AES 动态生成秘钥

阅读更多
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位

分享到:
评论

相关推荐

    C#AES 模块、密钥、填充块加密解密demo

    此外,项目可能还包括了密钥和IV的生成、存储和加载机制,以及错误处理和日志记录功能。 总的来说,C#中的AES加密解密是一个涉及密钥管理、初始化向量选择、流处理和模式配置的过程。通过理解这些基本原理,你可以...

    AES秘钥的工具

    1. **秘钥生成**:允许用户生成符合AES标准的随机秘钥。 2. **加密**:使用用户提供的秘钥对数据进行加密,生成密文。 3. **解密**:使用相同的秘钥将密文还原为原始数据。 4. **秘钥管理**:安全地存储和管理秘钥,...

    openssl生成秘钥工具

    在本案例中,我们将重点关注如何使用OpenSSL工具生成秘钥,这是构建安全网络通信的基础。 首先,我们来理解“秘钥”在加密中的作用。秘钥是一种用于解密加密过的数据的特殊代码。在SSL(Secure Socket Layer)或其...

    128位AES算法对文件进行加密解密(秘钥库自动生成的秘钥来加密)

    标题中的“128位AES算法”指的是Advanced Encryption Standard(高级加密标准),它是一种广泛用于保护数据安全的块加密算法。AES使用128、192或256位的密钥,其中128位是标准选择,提供足够的安全性且效率较高。AES...

    支持32位密钥的AES加解密

    标题中的“支持32位密钥的AES加解密”是指在Java开发环境中,使用AES(Advanced Encryption Standard)加密算法并允许使用长度为256位(即32字节)的密钥进行数据的加密与解密。AES是目前广泛应用的对称加密算法,以...

    AES算法的javademo(秘钥采用RSA公私钥加解密)

    本示例中,生成了16*n byte的秘钥,这意味着它可能是128位或更高位的密钥,因为一个16字节(128位)的密钥足以满足大多数需求。 AES加密的过程通常包括以下步骤: 1. 生成密钥:使用`KeyGenerator`类生成AES密钥。 ...

    java实现的AES秘钥生成算法示例

    首先,AES的密钥生成涉及`KeyGenerator`类,它是Java Cryptography Architecture (JCA)的一部分,负责根据特定的算法生成密钥。在Java代码中,我们首先需要获取一个`KeyGenerator`实例,指定算法为"AES"。这可以通过...

    QT C++ AES字符串加密解密类库,引入即可使用

    2. 加密函数:这个函数接收明文字符串和密钥作为输入,通过AES算法生成密文。可能采用的模式有ECB(电子密码本)、CBC(密码块链接)、CFB(密文反馈)或OFB(输出反馈)等,其中CBC模式由于其良好的安全性通常被...

    js前端AES加密实现方法。

    AES,全称为Advanced Encryption Standard(高级加密标准),是一种强大的块密码,广泛用于保护敏感数据,包括在网络上传输的数据。在前端应用中,使用AES加密可以保护用户信息的安全,防止数据在传输过程中被窃取或...

    非单一密钥aes加密解密

    1. 密钥生成:生成符合AES要求的随机密钥,通常为128位、192位或256位。 2. 密钥扩展:将主密钥扩展为足够多的轮密钥,供加密和解密过程使用。 3. 明文处理:将待加密的数据分割成128位的块,如果数据长度不是128位...

    密钥的生成与加密

    对称密钥加密中,发送方和接收方使用相同的密钥进行加密和解密,如DES和AES。而非对称密钥加密,如RSA算法,采用一对公钥和私钥,公钥可以公开,而私钥必须保密。 实验 4-1 描述的是RSA算法的密钥生成过程。RSA是一...

    使用openssl生成RSA秘钥对(用这个!)

    openssl genpkey -algorithm RSA -aes256 -out newkey_encrypted.pem -pkeyopt rsa_keygen_bits:2048 ``` 然后在每次使用该密钥时,你需要输入设置的密码。 5. 有时,你可能需要将私钥转换为其他格式,如PKCS#8...

    AES-128-CBC加密解密

    AES-128-CBC(Advanced Encryption Standard with a 128-bit Cipher Block Chaining mode)是一种广泛应用的对称加密算法,主要用于数据的保护和安全传输。AES是基于替换和置换的块密码,由NIST(美国国家标准与技术...

    AES加密-开箱即用,已经封装好了.zip

    这个类可能会包含初始化向量(IV)的生成、密钥的处理、以及使用AES算法进行数据加解密的方法。AES加密过程通常包括选择一个密钥和初始化向量,然后通过AES算法的多个轮操作将明文转化为密文;解密则相反,用同样的...

    加密解密秘钥sha256带盐值

    流程包括:初始化Cipher对象、设置工作模式(如ECB、CBC等)、生成秘钥并设置、最后执行加密操作。 5. **解密AES-128** 解密过程与加密类似,也需要相同的128位秘钥。初始化Cipher对象时需设置解密模式,然后使用...

    RSA和AES联合数据加密需要的关键文件

    2. **密钥交换**:客户端使用服务器的公钥生成一个随机的AES密钥,并加密这个密钥,然后发送给服务器。 3. **数据加密**:客户端使用AES密钥加密HTTP请求的敏感部分,如用户名、密码等,然后发送给服务器。 4. **...

    AES加密解密的前台js文件和后台java工具类

    Java的`javax.crypto`包提供了AES加密解密的相关API,包括`Cipher`类用于执行加密和解密操作,`KeyGenerator`生成秘钥,以及`SecretKeySpec`用于创建AES秘钥对象。Java工具类可能包含静态方法,如`encrypt(String ...

    UE秘钥信息文档

    - **加密算法**:秘钥通常基于特定的加密算法(如RSA、AES等)生成,确保其唯一性和安全性。 - **用户信息绑定**:为了进一步提高安全性,秘钥可能还会与用户的特定信息(如硬件序列号、MAC地址等)进行绑定。 2. ...

    JAVA实现AES加密和解密

    1. 创建秘钥:使用`KeyGenerator`生成16位的AES秘钥。 ```java KeyGenerator keyGen = KeyGenerator.getInstance("AES"); keyGen.init(128); // 128位秘钥,也可设置为192或256位 SecretKey secretKey = keyGen....

    可直接运行的AES代码,支持128、192、256位密钥的加解密运算

    这样的实现通常会包括密钥扩展功能,因为AES的每一轮都需要一个不同的子密钥,这些子密钥由原始密钥通过特定的扩展算法生成。 在编程实现AES时,需要注意以下几点: 1. 密钥处理:根据密钥长度,执行正确的密钥扩展...

Global site tag (gtag.js) - Google Analytics