请问,连接字符串加密在百度中,找到对连接字符串进行加密的函数,一个加密函数,一个解密函数我想问的是,对于
请问,连接字符串加密
在百度中,找到对连接字符串进行加密的函数,一个加密函数,一个解密函数
我想问的是,对于保存在文件中的加密过的字符串,任何人都可以用解密函数进行解密啊
具体是怎么处理的呢?
[解决办法]
这就像保险柜放在那,里面的钱任何人都可以拿走啊。但你没有钥匙你打得开保险柜吗?
别人就算知道解密算法,没有key也白搭
[解决办法]
加密解密不都有密钥吗?你密钥别让人知道了,别人就不好破解了
[解决办法]
对于黑客,一般的加密函数,都是小儿科,他们干的就是这个
[解决办法]
前几天我也在考虑这个问题,因为.Net编译的程序可以反编译,所以如果想搞破坏,很容易啊。
反编译后,有算法,有密钥。
[解决办法]
防君子防不了"小人"
[解决办法]
++
[解决办法]
/// <summary>
/// 加密
/// </summary>
/// <param name="encryptString">加密内容</param>
/// <param name="encryptKey">密匙,长度8位</param>
/// <returns>加密后的内容</returns>
public static string Encode(string encryptString, string encryptKey)
{
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey);
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbKey), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
/// <summary>
/// 解密
/// </summary>
/// <param name="decryptString">加密的内容</param>
/// <param name="decryptKey">密匙:内容加密的密匙,长度8位</param>
/// <returns>解密后的内容</returns>
public static string Decode(string decryptString, string decryptKey)
{
byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbKey), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
[解决办法]你要是想完全保密,我感觉这个难以实现,我前几天在做一个会员的项目,也在想加密这一块,最后我使用的是直接用md5来加,客户端把密文与数据发给服务器,服务器上在对数据进行一次加密,然后判断两个密文是否一样。
[解决办法]之前回答你了,问题出在你和服务器通讯的过程中,密码明文传输,很容易获取。
无论你怎么加密,程序运行的时候都得解密还原成明文的密码送给服务器,这个过程密码就泄露了。
[解决办法]你服务器都被攻破了 哪还有什么号说的
[解决办法]没有绝对的安全.
[解决办法]LS说的是用户登陆之类的验证吧,像12306那样的?那就建个https证书好了
但是那跟连接字符串没有关系。也是在服务端CLR中执行的,运行时Net本身就已经把
配置文件中的连接字符串加密了
但是如果你说你的代码文件都被人窃取了,那就是另外一回事了
[解决办法]人家说的连接字符串,连数据库(你看他历史发帖记录),你怎么联系到http,想象力太丰富了吧。
[解决办法]不要再误导lz了,lz已经概念不清了。
[解决办法]http://www.cnblogs.com/shuzehui1984713/archive/2010/10/14/1851770.html
[解决办法]不明白,我想问几个问题
1.楼主所说的存在于文件中,存在于哪里的文件中?客户端,还是本机
2.文件中的密文是以明文形式存在还是密文?
[解决办法]很简单lz,你不会写程序,什么都不懂都没有关系,鼠标键盘会用就好办。
你可以下载一个叫sniffer pro的软件,然后打开它,开始监听你的网络,运行你的程序,试图和服务器连接。连上即可。停止sniffer pro的监听。然后在sniffer pro抓下来的数据中搜索,看看有没有密码,如果有,那就行了。
你明白了吧,和你什么配置文件、exe加密之类的事情毫不搭界。你再加密都是徒劳的。
------解决方案--------------------
想加密 一般的加密解密就行了.
防君子不防小人
[解决办法]在.net里好像有内置的加密,挺不错的,你可以看看。
[解决办法]没有绝对安全的加密,要么你就用硬件做定时动态密码,双方的硬件密匙通过TCP做动态口令传输,相对安全一点
[解决办法]你的程序不被反编译,那连接串还是安全的。可以考虑加密程序。
[解决办法]之前,用Delphi写程序时。早期,是将连接字符串保存在程序中,曾经试过,用UE打开程序可以直接搜到连接字符串,加壳后就搜不到了,但能脱壳。后来,为了安全及灵活,就将连接字符串保存到文件中(目前仍有小点的软件,用INI文件明文保存服务器名、用户名、密码的),怕不安全,就用加密方式存储。
如果用Net写,EXE文件可以直接反编译(我之前试过,源代码基本完整),那样,解密函数直接可以复制出来,稍改一下,就可以解密连接字符串了。
不知道有没有什么办法可以防止反编译。用混淆效果也不太好。
[解决办法]这个是RSA私钥加密,公钥解密的问题。
.net对于非对称式加密,只支持公钥加密,私钥解密;
私钥加密、公钥解密的算法,要自己写才行。
[解决办法]MD5根本就不是加密算法,而是哈希算法,它产生的结果是不可逆的。