您的位置: 我要加密首页 >> 加密技术 >> 阅读文档:讲述加密类的空间

讲述加密类的空间

[ 作者: | 更新日期:2007-6-25 09:05:48 | 阅读次数: | 评论 0 条 | 我要投稿 ]

  本文是网上一个论坛的帖子,本站摘给大家看看。

字串1

比如:
.NET Framework 类库 
SecureString 类 
注意:此类在 .NET Framework 2.0 版中是新增的。 字串7

表示应保密的文本。文本在使用时出于保密目的被加密,并在不再需要时从计算机内存中删除。无法继承此类。
System.String 类的实例不仅是不可变的,而且当不再需要它时,无法以编程方式计划进行垃圾回收;也就是说,该实例在创建后是只读的,并且无法预知何时将从计算机内存中删除该实例。因此,如果某个 String对象含有诸如密码、信用卡号码或个人数据等敏感信息,则因为应用程序无法从计算机内存中删除这些数据,便存在信息在使用后可能被泄漏的危险。

字串2

SecureString 对象与 String 对象的相似之处在于它也具有文本值。但是,SecureString 对象的值是自动加密的,在应用程序将它标记为只读之前可以进行修改,并且可由应用程序或 .NET Framework 垃圾回收器将其从计算机内存中删除。

字串6

SecureString 的实例的值在初始化该实例或修改它的值时自动加密。应用程序可通过调用 MakeReadOnly 方法使实例成为不可变的,以防止进一步修改。

字串9

请注意,SecureString 没有对 SecureString 的值进行检查、比较或转换的成员。由于缺少这类成员,因此有助于保护实例的值不被意外或恶意公开。System.Runtime.InteropServices.Marshal 类的某些相应的成员(如 SecureStringToBSTR 方法)可用于处理 SecureString 对象的值。

字串5

SecureString 类派生自 CriticalFinalizerObject 类并实现 IDisposable 接口。有关实现 IDisposable 接口的更多信息,请参见垃圾回收。 字串5

SecureString 类及其成员对 COM 是不可见的。有关更多信息,请参见 ComVisibleAttribute。 字串1

System.Security,System.Security.Cryptography

字串2


例: 字串1

public static string Encrypt(string cleanString)
{
   MD5CryptoServiceProvider hashmd5;
   hashmd5 = new MD5CryptoServiceProvider();
   return BitConverter.ToString(hashmd5.ComputeHash(Encoding.Default.GetBytes(cleanString))).Replace("-", "").ToLower();
} 字串5


如果是伪加密,可以是:
        public static string EncodeBase64(string cleanString)
        {
            return Convert.ToBase64String(Encoding.Default.GetBytes(cleanString));
        }

字串8

解密:
        public static string DecodeBase64(string baseString)
        {
            return System.Text.ASCIIEncoding.ASCII.GetString(Convert.FromBase64String(baseString));  
        } 字串8

可以将"-"去掉

字串9

这是另一位朋友的例子: 字串2

using System.Security;
using System.Security.Cryptography; 字串9

//加密密码
public static string EncryptPassword(string password)
{
byte [] pass = Convert2ByteArray(password);

字串2

// 计算 SHA-1 哈希值
SHA1 s = new SHA1CryptoServiceProvider();
string cryptPassword = BitConverter.ToString(s.ComputeHash(pass));
return cryptPassword;
}

字串8

private static byte [] Convert2ByteArray(string password)
{
char [] pass = password.ToCharArray();
byte [] covPass = new byte[pass.Length - 1];
for(int i = 0; i < covPass.Length - 1; i ++)
{
covPass[i] = Convert.ToByte(pass[i]);
}
return covPass;
}

字串8

为了让大家看的直观点本站提供原文的地址:http://community.csdn.net/Expert/topic/5412/5412587.xml?temp=.5371515

字串2

谢谢你对本站的支持! 字串8


Tags:名字 加密 SecureString 实例 return static
来源:
您的评论
用户名:新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为