求一个加密方法,相对安全一点的!
我现在要给别人开放一个动态库接口,但里面会有一个驱动密码(byte数组类型的),现在想对它加密一下,哪种加密方法比较合适啊?求推荐!
例如:
byte[] key1 = new byte[] { 120, 110, 100 };
------解决方案--------------------可以使用.net类库中的RSA加密方法。客户端先从服务器取得当前的公钥(服务器可能每隔几小时换一个),然后用它加密自己的登录消息,发送给服务器,从服务器再次得到授权码。然后每一次访问服务器,都提供这个授权码作为消息的一部分,服务器可以利用这个验证客户端,例如验证其 remote IP 与登录时的一样,或者要求客户端每隔10分钟必须重新申请一个新的授权码。
------解决方案--------------------“三个字节的密码”?这样别人随便就能暴力破解了。至少需要8位以上的密码,并且你可以把用户的单位名称、联系人电话、电子邮件地址、跟软件开发商的注册地址,与(不少于8个字符、必须有多种类字符组合使用的)密码连在一起,组成不低于100个字符的字符串,以这个为标准,产生授权号(例如使用md5、sha1码)。
------解决方案--------------------如果你程序的密钥能够被获取,那么任何加密算法都无效。
------解决方案--------------------组成不低于100个字符的字符串 --> 再加上一个随机数字(例如登录时的毫秒时间),组成不低于100个字符的字符串
------解决方案--------------------DES或MD5不行么...
------解决方案--------------------MD5不安全?
------解决方案--------------------MD5网上有很多破解的在线网站,一般都会进行二次加密,甚至多次加密。比如在MD5的基础之上,再进行移位操作,加强了安全性。