首页 > 编程知识 正文

密码加密的几种方式,安全的加密算法有哪些

时间:2023-05-05 03:26:29 阅读:45151 作者:3092

介绍几种网络传输的加密方式。

注.这些加密涉及明文传输,需要通过https协议进行加密传输

1 .密钥散列使用散列算法(如MD5或SHA1 )加密明文(这里的加密仅限于人,不对机器执行。 因为这些算法可以由机器用对应的算法计算出来) )。

3358www.Sina.com/:防篡改3358www.Sina.com/:常规文件下载优点:不安全且可认证

2 .对称加密适用场景:安全可认证缺点:收发端数量固定,密钥使用对象少优点:BS网络传输关系为

3 .非对称加密3.1接收方发送公钥(保证数据完整性)前提)初次通信时发送方接收接收方公钥并本地保存

3.2发送方发送公钥(保证发送方认证)前提)第一次通信时接收方接收发送方公钥并在本地保存

4 .数字签名适用场景:登录认证缺点:没有足够的机密性

速记算法对称算法(SymmestricAlgorithm ).Create )=

提供程序. create encryptor (

提供程序. create decryptor (

cryptostream (流模式) :

cryptostream (加密steam、encryptor、CryptoStreamMode.Write ) /加密准备读取空的加密steam

cryptostream (加密steam、decryptor、CryptoStreamMode.Read ) /准备解密写入密文流加密steam准备读取

不对称加密不对称加密(ASymmistricAlgorithm ) :

提供者提供者

provider.to XML字符串(true; //获取公钥对

provider.to XML字符串(false; //获取公钥

pro vier.from XML string (公共密钥XML;

pro vier.from XML string (私有密钥XML;

提供程序. encrypt (;

提供程序. decrypt (;

示例:对称加密:

string key='abc '; string sendContent='你好!' ; varbytekey=encoding.utf8.getbytes (key ); varbyteiv=encoding.utf8.getbytes (key ); //加密算法初始化向量descryptoserviceproviderdes=newdescryptoserviceprovider (; 用//des加密byte [ ] bytes content=encoding.utf8.getbytes (send content ); 内存流ms=new内存流(; cryptostream cs=new cryptostream (ms,des.createencryptor ) bytekey,byteIV ),CryptoStreamMode.Write ); cs.write(Bytescontent,0,bytesContent.Length ); cs.FlushFinalBlock (;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。