当前位置:首页>维修大全>综合>

软件加密狗是什么 用不用有什么区别

软件加密狗是什么 用不用有什么区别

更新时间:2023-05-30 13:57:59

软件加密狗是什么 用不用有什么区别

先说加密狗,再说客户端/服务器。

加密狗软件里主要的加密方式有以下几种。

1.伪加密:修改文件夹或者文件名,设置为隐藏文件达到所谓的“加密”目的。

2.异或加密与错位加密:依次读取文件的每一位byte字节,通过与指定数字异或计算得到一个新字节存入文件中,解密的时候只要再挨个异或一次就行,安全性不高,但速度快。一旦软件被反编译,破解轻轻松。RC4流加密虽然也是异或操作,但比这个复杂。如果是英文或者数字文本,可以考虑用错位的方式,就是ASCII码+1那种,A变B,B变C。逻辑也很简单,安全性极差,不多说。

3.DES加密:对称加密。目前比较常用的加密方法。DES3代(应该是256位)比较安全些。通过一定手段可以破解,但代价比较大。没研究过。

4.AES加密:对称加密。AES256是目前最安全的算法之一,被军方(米国)采用。只能通过暴力破解(随机碰撞)的方式破解,密码越长难度自然越高。AES加密参数有两个,一个是IV向量,一个是密码Key。虽然安全,但问题也很明显,加解密速度非常慢。通常可以只加密文件的一部分达到隐藏文件的目的。之前有AES128被破解的传闻,但也仅仅只是传闻而已,并没发现有什么论文或者报道发表出来。

AES加密是不怕别人知道算法的(必须有用户的真实明文密码才能解开)。DES可能也是吧,没有关注过DES,就不误导人了。

这里额外多说一句MD5的。MD5一般用来保存用户密码或者数据签名。它和SHA(散列)加密方式一样,都是不可逆的。

保存用户密码时,生成一个随机盐值(比如GUID),把这个盐值以及MD5(key+salt)两个数据一起保存下来。由于其不可逆性,就算你服务器被黑了,用户的密码也不会泄露。用户登录的时候,取出对应的盐值再MD5(key+salt)一次,比对一下就知道是不是正确密码了。

至于为什么要加盐,如果直接MD5(key)的话,黑客使用彩虹表(就是大量已知的key—MD5对照表)还是可以查出来明文的。

游戏或者其他的C/S通讯,一般会用RSA加密(可以配合DES或者AES一起用,比如服务器证书(CA,就是带https标志的那种网站用的啦)一般就是AES+RSA加密的)。

RSA加密:不对称加密,即公钥私钥模式。它的公钥和私钥是一大串字符,一般保存成xml格式或者byte流,存成字符串会出错。

RSA通常用于网络socket通讯。私钥由服务器保存,公钥公开给所有的客户端。客户端把消息用公钥加密,然后再传给服务器,服务器用私钥解开密文。反之,服务器向客户端发消息时,会用私钥对消息进行签名,客户端收到消息会用公钥确认签名,这样可以确保消息是由真正的服务器传来的,而不是其他的恶意主机。

公钥只能用来加密数据和验证签名,没有解密功能。同样的,私钥只能用来解密数据和生成签名,不能用来加密数据。

也正是因为RSA加密要绝对保证私钥的安全,所以不适合用来做文件加密软件。软件一被破解,完全没有任何保护性可言。

更多栏目