易截截图软件、单文件、免安装、纯绿色、仅160KB

C# 加密-加密后为何有两种结果的字符串?

问:C# 加密后为何有两种结果的字符串?
比如 cftea 的 MD5 加密后:
有的人的结果是:c2e1861ca90e67ce1f9a62f9c27d8bdc
有的人的结果是:wuGGHKkOZ84fmmL5wn2L3A
答:这是对字节的两种不同表示结果。
第一种是用十六进制表示的(FormsAuthentication.HashPasswordForStoringInConfigFile 就是这种,只是是大写的),具体请参见 BitConverter
。如果用 BitConverter 时没有替换掉“-”的话,加密结果中还会有“-”分隔开。
第二种是用的 Base64 编码,具体请参见 Base64 编码简介


相关文档:

C#中属性和字段的区别

属性是类中可以像类的字段一样访问的方法。属性可以为类的字段提供保护,避免字段在对象不知道情况下被修改。C#通过属性来修改,读写或计算私有的字段的值。属性相当于对字段访问的封装。下例子可以清楚说明哟:
class Person
    {
            ......

RFC访问SAP(C#)


using System.Windows.Forms;
using SAPFunctionsOCX;
using SAPLogonCtrl;
using SAPTableFactoryCtrl;
namespace SAPFunction
{
    public partial class Form1 : Form
    {
        public Form1()
       ......

C# 加密-RSA 高级

RSA
实际应用中是:接收方产生公钥和私钥,发送方用其公钥加密,再把加密后的内容发送给接收方。
CspParameters
的名称空间是:
System.Security.Cryptography
CspParameters cpSend = new CspParameters(); //Csp = Cryptography Service Provider
CspParameters cpReceive = new CspParameters();
cpSend.KeyCon ......

C# 加密-TripleDES

TripleDES
属对称加密,对称加密在加密和解密时都使用相同的密钥,速度快。
TripleDESCryptoServiceProvider 的名称空间是:
System.Security.Cryptography
byte[] plaintextBuffer = System.Text.Encoding.UTF8.GetBytes("明文");
//加密
TripleDESCryptoServiceProvider tripleDES = new TripleDESCrypt ......

C# 加密-密钥容器

要安全地存储密钥,应将密钥存放在密钥容器中,而不是明文存放在文件中。
如果您不了解密钥容器,可以参照 MSDN 上的 了解计算机级别和用户级别的 RSA 密钥容器

CspParameters
的名称空间是:
System.Security.Cryptography
创建和读取密钥容器
CspParameters cp = new CspParameters();
cp.KeyContainerName = ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号