文件防拷贝防止复制 (文件防拷贝防止复制怎么弄)

产品上需要到包产板子不被抄板,程序不被拷贝,增加了一个SHA加密芯片。

初步看了一下,原理还是很简单的,主要是通过保护加密算法和加密结果来实现的。

程序通过程序算法,将每个加密芯片不同的ROMID,及其他自定义的数据,计算出一个密钥,写入到加密芯片中,这个密钥,在加密芯片中无法读出。

程序运行时,首先判断加密芯片的密钥是否是别人复制出来的,判断是否有正确的密钥,如果是不对的,程序就终止运行,如果正确,才继续运行。

这个判断的方式,并不是直接读取,而是通过比对芯片本身SHA-256哈希算法来计算哈希值与程序通过SHA-256算法计算出的值,如果二个值一致,说明这个值是正确的密钥。

这个SHA哈希值,可以证明消息正确,但是不能复原消息。

SHA 电脑 (Security Hash Algorithm) 是美国的 NIST 和 NSA 设计的一种标准的 Hash 算法,SHA 用于数字签名的标准算法的 DSS 电脑 中,也是安全性很高的一种 Hash 算法。思想是从消息中获取摘要,并且将摘要合入到下一轮摘要中,修改消息会引起雪崩效应。

可以简单理解这个SHA,比如从一个人所有的生物特种中,获取某个手指头的指纹,如果指纹与甲的对应指头的指纹一致,电脑可以证明这个人是甲,但是不能反过来获取这个人所有的生物特征信息。

由于这个密钥,与ROMID及一些自定义的数据相关,每个板子都不一样,而且无法直接读出,如果拷贝的人,不知道密钥算法,密钥自定义数据,就无法计算出这个密钥,所以就无法复制。