创建一个新的随机密钥对示例

 

 

下面的命令创建一个新的随机密钥对,并将其存储在 EndvStrongKey.snk 中。
 
sn -k EndvStrongKey.snk


下面的命令将 EndvStrongKey.snk 中的密钥存储在强名称 CSP 中的容器 Endv 中。

sn -i EndvStrongKey.snk Endv

下面的命令从 EndvStrongKey.snk 中提取公钥并将其存储在 EndvpublicKey.snk 中。

sn -p EndvStrongKey.snk EndvpublicKey.snk


下面的命令显示公钥和 EndvpublicKey.snk 中包含的公钥的标记。

sn -tp EndvpublicKey.snk


下面的命令验证程序集  Endv.Data.v1.0.dll

sn -v Endv.Data.v1.0.dll


下面的命令从默认 CSP 中删除 Endv。

sn -d Endv

-------------------------------------------------------------------
sn -k EndvStrongKey.snk
------------------------------------------------------------------
Microsoft(R) .NET Framework 强名称实用工具 版本 4.0.30319.33440
版权所有(C) Microsoft Corporation。保留所有权利。

E:\Endv\Endv.Key>sn -k EndvStrongKey.snk

Microsoft(R) .NET Framework 强名称实用工具 版本 4.0.30319.33440
版权所有(C) Microsoft Corporation。保留所有权利。

密钥对写入到 EndvStrongKey.snk

E:\Endv\Endv.Key>sn -p EndvStrongKey.snk EndvpublicKey.snk

Microsoft(R) .NET Framework 强名称实用工具 版本 4.0.30319.33440
版权所有(C) Microsoft Corporation。保留所有权利。

公钥已写入到 EndvpublicKey.snk

E:\Endv\Endv.Key>sn -i EndvStrongKey.snk Endv

Microsoft(R) .NET Framework 强名称实用工具 版本 4.0.30319.33440
版权所有(C) Microsoft Corporation。保留所有权利。

密钥对安装到“Endv”中

E:\Endv\Endv.Key>sn -tp EndvpublicKey.snk

Microsoft(R) .NET Framework 强名称实用工具 版本 4.0.30319.33440
版权所有(C) Microsoft Corporation。保留所有权利。

公钥(哈希算法: sha1):
0024000004800000940000000602000000240000525341310004000001000100c5a1b8fa2bb801
d8c1c726f3a228fec0c5e20c9ac26f0c97696011af2a9c75ffbd5063d2806724830a41d52be9fb
e9c0c41aa98be55d2dff5eb55e1f9026b2f0b4eec0f34355e1cda4e7bb9742c10ad2417af1853f
3dc273384b4ad6426665c2db24693e69c5c2b4f14cef6c34464ec01084d61484505b72346408b7
9fe90287

公钥标记为 c4274659ffcaf636

 

转载于:https://www.cnblogs.com/endv/p/4318654.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用Python处理AES加解密,可以使用PyCrypto库。下面是一个示例代码:from Crypto.Cipher import AES# 生成一个AES密钥 key = b'Sixteen byte key'# 初始化AES加密器 encryptor = AES.new(key, AES.MODE_EAX)# 明文 data = b'Hello World!'# 加密 ciphertext, tag = encryptor.encrypt_and_digest(data)# 解密 decryptor = AES.new(key, AES.MODE_EAX, tag) plaintext = decryptor.decrypt(ciphertext)# 输出明文 print(plaintext) ### 回答2: 在Python中处理AES加密,可以使用`cryptography`库来实现。下面是一个示例代码: ```python from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import padding, hashes # 设置密钥和IV key = b'secret_key_16bit' iv = b'initial_vector_16' # 明文 plaintext = b'hello world' # 创建一个AES加密算法对象 aesCipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=default_backend()) # 创建一个加密器对象 encryptor = aesCipher.encryptor() # 进行加密,注意需要先填充明文 padder = padding.PKCS7(algorithms.AES.block_size).padder() padded_plaintext = padder.update(plaintext) + padder.finalize() ciphertext = encryptor.update(padded_plaintext) + encryptor.finalize() # 创建一个解密器对象 decryptor = aesCipher.decryptor() # 进行解密,注意需要先去除填充 unpadder = padding.PKCS7(algorithms.AES.block_size).unpadder() decrypted_padded_plaintext = decryptor.update(ciphertext) + decryptor.finalize() decrypted_plaintext = unpadder.update(decrypted_padded_plaintext) + unpadder.finalize() # 输出结果 print("加密后的密文:", ciphertext) print("解密后的明文:", decrypted_plaintext.decode()) ``` 该示例代码使用AES算法进行加密和解密操作。首先,需要设置密钥和初始向量(IV)。然后,创建一个AES加密算法对象,并传入密钥和IV。接下来,使用该对象创建加密器和解密器对象,分别用于加密和解密操作。 对于加密操作,需要使用填充(padding)来保证需要加密的内容长度是加密算法块大小的整数倍。这里使用了PKCS7填充方式。 对于解密操作,需要进行与加密操作相反的操作,先使用解密器对密文进行解密,然后移除填充。 最后,输出加密后的密文和解密后的明文。 ### 回答3: 在Python中,可以使用 PyCryptodome 库来处理 AES 加密。以下是一个示例代码,演示了如何使用 AES 进行加密和解密: ```python from Crypto.Cipher import AES from Crypto.Random import get_random_bytes # 生成一个随机密钥 key = get_random_bytes(16) # 原始数据 data = b"Hello, AES!" # 创建一个 AES 加密器,使用 ECB 模式 cipher = AES.new(key, AES.MODE_ECB) # 加密数据 ciphered_data = cipher.encrypt(data) print("加密后的数据: ", ciphered_data) # 创建一个的 AES 解密器 decrypter = AES.new(key, AES.MODE_ECB) # 解密数据 deciphered_data = decrypter.decrypt(ciphered_data) print("解密后的数据: ", deciphered_data) ``` 在示例代码中,首先通过 `get_random_bytes` 生成了一个随机的 16 字节密钥。然后,使用 `AES.new` 创建了一个 AES 加密器,指定了密钥和加密模式(这里使用了 ECB 模式)。接下来,调用 `encrypt` 方法对原始数据进行加密。解密的过程与加密类似,同样使用 `AES.new` 创建一个 AES 解密器,并调用 `decrypt` 方法对加密后的数据进行解密。 请注意,ECB 模式的使用并不安全,因为它会产生相同数据块的相同加密结果。在实际应用中,可以考虑使用更安全的加密模式,如 CBC 或 CTR。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值