我使用强名工具创建了一对密匙test.snk,publicKey.snk,存放在C盘,然后我新建了个类库项目 在它的AssemblyInfo.cs 中加了[assembly: AssemblyKeyFile("c:\\test.snk")],然后编译成一个dll ,然后创建了一个Winform项目引用上面的dll,没有给这个Winform授权,应该是不能使用dll中的方法的啊?可是现在任然能访问方法,到底怎么回事啊?谢谢解答
解决方案 »
- 求解,怎么实例化对象
- 查询数据库的数据,是个比较费时的工作,请问如何在使用线程查询的时候显示个进度条?
- 想做一个QQ或者RTM有新消息就提示的程序,求助!
- 关于[XmlRoot("ReaderConfig")]问题????
- 今天星期 不知道会有人帮我下不! this.clos();
- 高手请进!!!!急用!!!
- 急!如何将backgroundworker 线程立刻杀死
- C#操作Word(2003),怎么屏蔽Word的错误
- 在C#中调用 ping.exe后如何得知返回结果 ?
- 菜鸟问题:c#中如何生成可执行程序
- 几个RichTextBox问题
- TcpClient或者Socket通讯,本机调试正常,发布到服务器上异常!1000分
这样你的winform就不能用了除非在winform加上[assembly: AssemblyKeyFile(" 。snk")].
你试试看
我在网上看了一段MD5加密的
//MD5加密
public string MD5Encrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
byte[] key = ASCIIEncoding.ASCII.GetBytes(sKey.Substring(0,sKey.Length));
byte[] iv = ASCIIEncoding.ASCII.GetBytes(sKey.Substring(0, sKey.Length));
MessageBox.Show(des.ValidKeySize(key.Length).ToString());
des.Key= key;
des.IV = iv;
des.BlockSize = des.Key.Length;
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();
}使用的时候为什么老是报错:指定键的大小对于此算法无效