软件和游戏的序列号是怎么生成的?
灼眼的超哥 2010-12-10 09:10:12 如题,有些正版软件和游戏,一般在安装时会要求输入序列号,尤其是游戏,安装时必须输入正确的序列号才能继续安装。
例如Office 2007 序列号:
DBXYD-TF477-46YM4-W74MH-6YDQ8
G2WGQ-4WDK3-PJKPW-98VXX-THFMJ
H6YPK-HY3DR-9T4MC-DYDBQ-PCWBJ
XVQC3-KY4GQ-DQFQP-JC624-QJRM
那请问,这些序列号如何产生?通过算法?
还是这些序列号本身在程序里,输入后直接核对是否正确?
我想要这样一个程序:
程序随机生成一组数字,然后将这组数字作为程序的ID,不可改变;
而序列号,是程序通过这ID算出来的,只有唯一正确的序列号才能通过程序的验证;
这样,虽然程序很多,但每个程序只有一个能验证通过的序列号(忽略随机生成的ID相同的情况),能避免多个程序可用同一个序列号验证通过。
请问,如何实现?
如果要用C语言写个能简单实现这个功能的程序,如何写?