本文是网上一个论坛的帖子,本站摘给大家看看。
字串1
比如:
.NET Framework 类库
SecureString 类
注意:此类在 .NET Framework 2.0 版中是新增的。 字串7
表示应保密的文本。文本在使用时出于保密目的被加密,并在不再需要时从计算机内存中删除。无法继承此类。
System.String 类的实例不仅是不可变的,而且当不再需要它时,无法以编程方式计划进行垃圾回收;也就是说,该实例在创建后是只读的,并且无法预知何时将从计算机内存中删除该实例。因此,如果某个 String对象含有诸如密码、信用卡号码或个人数据等敏感信息,则因为应用程序无法从计算机内存中删除这些数据,便存在信息在使用后可能被泄漏的危险。
SecureString 对象与 String 对象的相似之处在于它也具有文本值。但是,SecureString 对象的值是自动加密的,在应用程序将它标记为只读之前可以进行修改,并且可由应用程序或 .NET Framework 垃圾回收器将其从计算机内存中删除。
字串6
SecureString 的实例的值在初始化该实例或修改它的值时自动加密。应用程序可通过调用 MakeReadOnly 方法使实例成为不可变的,以防止进一步修改。
请注意,SecureString 没有对 SecureString 的值进行检查、比较或转换的成员。由于缺少这类成员,因此有助于保护实例的值不被意外或恶意公开。System.Runtime.InteropServices.Marshal 类的某些相应的成员(如 SecureStringToBSTR 方法)可用于处理 SecureString 对象的值。
SecureString 类派生自 CriticalFinalizerObject 类并实现 IDisposable 接口。有关实现 IDisposable 接口的更多信息,请参见垃圾回收。 字串5
SecureString 类及其成员对 COM 是不可见的。有关更多信息,请参见 ComVisibleAttribute。 字串1
System.Security,System.Security.Cryptography
例: 字串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));
}
解密:
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;
}
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
谢谢你对本站的支持! 字串8