C 学习笔记16—— net中System Security Cryptography 命名空间

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

.net中System.Security.Cryptography命名空间

 

在.NETFramework出现之前,如果我们需要进行加密的话,我们只有各种较底层的技术可以选择,如 Microsoft Crypto API、Crypto++、Openssl等等,其用法相当复杂。而在 .NET Framework中,这些复杂内容已经被封装在各个 .NET 框架类中,并且由一个System.Security.Cryptography 命名空间包含这些与加密、签名相关的类。利用这些类,我们就可以很方便地使用各种广泛使用的算法,包括RSA, DSA, Rijndael, SHA和其他Hash算法等等。

首先,我们了解一下加密中的一些基本术语:

 

对称加密算法

加密算法的一般类型有对称和非对称两种。对称算法使用相同的密钥来加密和解密数据。对称密钥密码算法所用的加密密钥和解密密钥通常是相同的,即使不同也可以很容易地由其中的任意一个推导出另一个。在此算法中,加、解密双方所用的密钥都要保守秘密。由于计算速度快,对称加密算法被广泛应用于大量数据,如文件的加密过程中。

使用分组密码算法数字签名常用的加密标准有:DES,Tripl-DES,RC2,RC4,CAST等。

.NET Framework提供了以下类来实现对称加密算法:

DESCryptoServiceProvider

RC2CryptoServiceProvider

RijndaelManaged

TripleDESCryptoServiceProvider

下面是一个DESCryptoServiceProvider类的应用实例:

下面的示例使用 DESCryptoServiceProvider 类将一些数据加密到内存,然后解密数据。

//This sample demonstrates using a key based on the cryptographic serviceprovider (CSP) version
// of the Data Encryption Standard (DES)algorithm toencrypt a string to a byte array, and then
// to decrypt the byte array back to a string.

using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;

class CryptoMemoryStream
{
// Main method.
public static void Main()
{
// Create a new DES key.
DESCryptoServiceProvider key = newDESCryptoServiceProvider();

// Encrypt a string to a byte array.
byte[] buffer = Encrypt(&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值