1 篇文章, 1 部小说被盗取,全靠维( si )权( bi )捍卫自己的原创权利。程序员捍卫自己珍贵的代码,全靠花式的加密算法。代码加密有多重要?程序员半年做出的产品,盗版者可能半天就能完全破解。
加密算法的本质,首先是为了对数据进行保密并防止篡改,其次更具有了身份验证的功能。像是你跟女友约定好的话术,这句话一说出来,她就知道是什么意思,并且知道说话的人是你,但任何其他人根本不知道你们在说什么。
根据密钥类型的不同,加密算法分为对称和非对称两种。对称加密系统是指加密和解密均采用同一把密钥,就像上文说到的你和女友的小密文,你们互相对对方说“今天月色很美”,对方就明白意思是“我爱你”。非对称密钥则采取加密钥匙和解密要是不同的方式。
对称加密算法是最常用的加密算法,优势在于算法公开,计算量小,加密效率高。常用的对称加密算法有 DES 、 RC4 、 AES 等。
定义: DES 算法又被称为美国数据加密标准,是 1972 年美国 IBM 公司研制的对称密码体制加密算法。明文按 64 位进行分组,密钥长 64 位,其中 56 位参与 DES 运算, 8 位为校验位。
优势: DES 算法具有极高安全性,到目前为止,除了用穷举搜索法对 DES 算法进行攻击外,还没有发现更有效的办法。然而它的缺点是分组短、密钥短、密码生命周期短、运算速度较慢。
案例: DES 算法最常用的场景是银行业,如银行卡收单,信用卡持卡人的 PIN 的加密传输, IC 卡与 POS 间的双向认证、金融交易数据包的 MAC 校验等,均用到 DES 算法。另外,在 POS 、 ATM 、磁卡及智能卡( IC 卡)、加油站、高速公路收费站等领域, DES 算法也被广泛应用,以此来实现关键数据的保密。
定义: RC4 算法作为目前最安全的加密算法之一,在 1987 年被 RSA 三人组中的头号人物罗纳德所创建。密钥长度是可变的,可变范围为 1-256 字节(8-2048 比特),但一般为 256 字节。
优势: RC4 算法的特点是算法简单,运行速度快,该算法的速度可以达到 DES 加密的 10 倍左右,且具有很高级别的非线性。
案例: RC4 算法的运用很广泛,起初是用于保护商业机密,到上世纪九十年代,其算法被发布在互联网中,扩大了使用范围。 App 开发平台 APICloud 将 RC4 算法用于代码加密功能,开发者在平台中编译时可选择这个功能,自动为 Html 、 Javascript 、 Css 代码加密,同时该 App 在运行过程中实时解密, App 退出即焚,不留下解密痕迹。 APICloud 代码加密功能不改变代码量大小,不影响运行效率,针对代码的加密方案不会修改开发者的任何代码,加密后的代码不会比加密前多出一个字节,同时, APICloud 在端底层嵌入了特殊的处理方案,保证代码加密前后, App 的运行效率、使用体验不受影响。
APICloud 采取先进的动态加解密算法在“二进制”级别进行对称加密,编译一次,仅生效一次,保证了代码的安全,防止代码被反编译,被篡改,被窃取数据,被盗版,保护知识产权。 APICloud 这项加密技术一经推出,切实的为 APICloud 的开发者解决了代码加密的问题,使开发者更放心,更专心。
定义: AES 算法是高级加密标准的缩写,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES ,已经被多方分析且广为全世界所使用。
优势: AES 具有比 DES 更好的安全性、效率、灵活性,在软件及硬件上都能快速地加解密,相对来说较易于实作,且只需要很少的存储器。
案例:使用 AES 算法最著名的是英特尔处理器,也就是说我们每一个人的电脑里都用到了 AES 算法进行加密。英特尔内含的 AES 指令集包含六条指令,据英特尔介绍, AES 指令集让至强处理器更加灵活、高效而安全, E7 处理器可提速 4 倍。
这么多种对称加密算法,那它们之间的区别是什么呢?
总结一下,无论选择哪种加密算法,最终都是为了保证程序员的代码安全,捍卫自己的产品原创性。最后,编程改变世界!
1
jyf007 2017-03-23 21:19:50 +08:00 via Android 1
DES RC4 都是弱加密算法,应淘汰。
|
2
julyclyde 2017-03-23 22:42:28 +08:00 1
讨论 des 和 rc4 都是骗稿费的
在现在的算力下,这俩的算法构造是否精妙已经没有讨论意义 |
3
phx13ye 2017-03-23 22:54:40 +08:00
对称加密和非对称加密都是可逆的吧?
不可逆加密的是指 Bcrypt 和 sha 之类无需密钥的,我这样理解没问题吧,老铁? |
4
kmahyyg 2017-03-23 23:39:44 +08:00 via Android
至少 bcrypt sha256
|
7
ryd994 2017-03-24 00:13:40 +08:00
使用 AES 算法最著名的是英特尔处理器,也就是说我们每一个人的电脑里都用到了 AES 算法进行加密。 what? 你逗我? helloworld 还要 AES? Intel 有 AES-NI 加速 AES 操作而已好么
@phx13ye Wiki: bcrypt is a password hashing function... |
10
RqPS6rhmP3Nyn3Tm 2017-03-24 01:46:23 +08:00 via iPhone
在 2017 年了,还能看到有人说 des 安全……
|
11
yangqi 2017-03-24 01:48:10 +08:00
现在的软文都想有点干货,但是也别用过时的内容啊。
|
12
czc2004211 2017-03-24 02:19:50 +08:00 via Android
我选择 chacha20
|
13
msg7086 2017-03-24 02:45:45 +08:00
一个软文,连截图都不好好做, exo me ?
|
14
outloudvi 2017-03-24 06:35:37 +08:00 via Android
第一段和最后一段有点不明所以的样子……
|
15
kokutou 2017-03-24 07:53:05 +08:00 via Android
明天被老板炒鱿鱼系列~
|
16
fucker 2017-03-24 08:06:52 +08:00
原来广告里面也能讨论技术啊
|
17
loading 2017-03-24 08:24:38 +08:00 via Android
就这软文,更不敢用你们的产品了。
不发还好…… |
18
solrted 2017-03-24 08:26:59 +08:00 via Android
这里有多少 SS 用户,估计大多都知道这些加密方式的优劣!
|
19
RobertYang 2017-03-24 08:29:39 +08:00 via Android
去百度搜来的?
|
20
fyyz 2017-03-24 08:56:09 +08:00 via Android
非常不相信你们的产品。做的思路就不对。
先不说你们这种什么对于采用什么加密算法的探讨,第一段里说保护程序不破解的方法是加密。黑人问号??? 程序大致上可以分为服务器端程序和客户端程序。 客户端的程序破解不需要看源码,看函数表,通过 dll 注入等方法绕过授权验证,当然还有脱壳什么的。 服务器端程序,需要做服务器安全措施,比如说防火墙,用户提交字段验证什么的。 你看,没有任何一点和代码加密有关。 再说,就算代码加密了,给其他程序员的话,你肯定要给他明文代码,如果给他加密后的,也肯定会给他解密的 key ,那么他拿到明文照样可以泄露出去。 |
21
Biny 2017-03-24 09:56:47 +08:00
好垃圾的软文,鉴定完毕
|
22
wzxjohn 2017-03-24 10:19:05 +08:00 via iPhone 1
垃圾而且错误漏洞百出的软文。
实话实说,第一次听有人说 RC4 是目前最安全的加密算法之一。 你说你软也就罢了,别误导人啊! |
23
nilai 2017-03-24 13:45:59 +08:00
好垃圾的软文,鉴定完毕
|
24
v2exhehehehe 2017-03-24 14:45:40 +08:00
现代加密学应用可以看看
Crypto101: https://www.crypto101.io/ Cryptographic Right Answers : https://gist.github.com/tqbf/be58d2d39690c3b366ad 现代密码学实践指南: 这个随便搜一下就有了 |
26
xvx 2017-03-24 15:54:50 +08:00 via iPhone
为何不用 AES ?前面的貌似已经被淘汰了。
|
27
type 2017-03-24 17:28:38 +08:00
非对称的被楼主吃了么?
|
28
xiaoc19 2017-03-24 19:27:45 +08:00
AES 还得对工作模式进行筛选的时代,还在讨论 DES , RC4 这不是在搞笑,
麻烦先学点现代密码学吧 |
29
xbb7766 2017-03-24 20:57:43 +08:00 via Android
难怪我觉得像在看十年前的教材
“优势: DES 算法具有极高安全性,到目前为止,除了用穷举搜索法对 DES 算法进行攻击外,还没有发现更有效的办法。然而它的缺点是分组短、密钥短、密码生命周期短、运算速度较慢。” 软件技术基础教程 - Google Books Result https://books.google.com/books?isbn=7302116989 周肆清, 曹岳辉, 李利明 - 2005 例如,一个 512 位的密钥被认为是安全的,然而一个由 16 位密钥产生的数据块可能会 立刻被破坏。密钥加密类似于玩 ... 均用到 DES 算法。 DES 算法具有极高的安全性, 到目前为止,除了用穷举搜索法对 DES 算法进行攻击外,还没有发现更有效的办法。 |