明文转密文linux命令 linux命令将文件转换编码( 三 )


}
for (i=0;i=40;i++)
cout "#";
cout endl;
for (i=0;iM;i++)//解密!因为K[j]个数有限,只能用M做为循环次数
{
j=i%(M+1);
if (C[i]=K[j])
{
P[i]=C[i]-K[j]+128;//Pi=Ci-Kj (j=i mod(m+1)) (当Ci=Kj)
}
else
{
P[i]=C[i]-K[j];//80H=128,Pi=Ci-Kj+80H(j=i mod(m+1))(当CiKj)
}
}
coutendlendl"输出解密后的明文P[i]如下:"endl;
for (i=0;i=36;i++)
cout "#";
cout endl;
for (i=0;iN;i++)//输出解密后的P[i]
{
cout P[i]endl;
}
for (i=0;i=36;i++)
cout "#";
cout endlendl;
用密钥BACE,将明文“This is a book.”转换为密文使用cryptoapi吧明文转密文linux命令 , 简单 。首先 用CryptAcquireContext()函数获取到csp句柄明文转密文linux命令,然后 用CryptCreateHash()函数创建hash句柄,调用 CryptHashData()对 明文转密文linux命令你上面给明文转密文linux命令的 密钥(也叫口令)进行hash运算 。接着 用CryptDeriveKey()从hash对象中派生出会话密钥(也叫对称密钥)句柄,最后 调用CryptEncrypt(),使用上面得到明文转密文linux命令的会话密钥句柄 对 上面明文数据 “This is a book.”进行加密即可 。解密 ,  过程大概相同 , 只是最后 调用的是解密的api 。上面几个api函数的详细使用 可以查看 sdk2003.或者网上百度,google都可以 。
linux-openssl命令行 title: linux-openssl
date: 2020-09-16 11:02:15
categories:
{% note info %}
OpenSSL是一个健壮的、商业级的、功能齐全的开源工具包,用于传输层安全(TLS)协议,以前称为安全套接字层(Secure Sockets Layer, SSL)协议 。协议实现基于全强度通用密码库,也可以单独使用 。
【明文转密文linux命令 linux命令将文件转换编码】openssl是一个功能丰富且自包含的开源安全工具箱 。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能 。
span style="color:red;"项目地址/spanspan style="color:red;"官方网址/spanspan style="color:red;"手册/span
{% endnote %}
{% tabs configtab, 1 %}
对称算法使用一个密钥 。给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同 。解密时,使用读密钥与加密密钥相同 。
ECB\CBC\CFB\OFB
摘要算法是一种能产生特殊输出格式的算法 , 这种算法的特点是:无论用户输入什么长度的原始数据 , 经过计算后输出的密文都是固定长度的,这种算法的原理是根据一定的运算规则对原数据进行某种形式的提?。?这种提取就是摘要,被摘要的数据内容与原数据有密切联系,只要原数据稍有改变,输出的“摘要”便完全不同 , 因此,基于这种原理的算法便能对数据完整性提供较为健全的保障 。但是,由于输出的密文是提取原数据经过处理的定长值,所以它已经不能还原为原数据,即消息摘要算法是不可逆的,理论上无法通过反向运算取得原数据内容,因此它通常只能被用来做数据完整性验证 。
如今常用的“消息摘要”算法经历了多年验证发展而保留下来的算法已经不多,这其中包括MD2、MD4、MD5、SHA、SHA-1/256/383/512等 。
常用的摘要算法主要有MD5和SHA1 。MD5的输出结果为16字节,sha1的输出结果为20字节 。
在公钥密码系统中,加密和解密使用的是不同的密钥 , 这两个密钥之间存在着相互依存关系:即用其中任一个密钥加密的信息只能用另一个密钥进行解密 。这使得通信双方无需事先交换密钥就可进行保密通信 。其中加密密钥和算法是对外公开的,人人都可以通过这个密钥加密文件然后发给收信者,这个加密密钥又称为公钥;而收信者收到加密文件后,它可以使用他的解密密钥解密,这个密钥是由他自己私人掌管的,并不需要分发,因此又成称为私钥,这就解决了密钥分发的问题 。

推荐阅读