日期:2014-05-18  浏览次数:20763 次

软件注册与软件安装程序方面的问题。
各位大侠,小妹遇到一些问题解决不了,希望各位帮帮忙,最后的13分。
  1.怎样实现注册码形式如:xxx-xxxxxxxx的序列号的原理?
  2.用inno setup怎样写出类似AUTO CAD软件的安装程序呢?找了好多资料,不知道该怎么下手。

------解决方案--------------------
1.注册码一般都用算法验证,你可以从用户名或者其他注册信息,使用自定义的算法生成一个注册码。
2.inno setup的功能有限,AutoCAD的安装程序是用Install shield写的,相对于inno setup,Install shield更为专业,也更为全面,当然也较难掌握。
------解决方案--------------------
不知道这个例子对你有没有帮助。
C# code
using System;
using System.Text;
using System.Security.Cryptography;
class MD5Encrypt
{
    static string Encrypt(string InString)
    {
        MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
        byte[] bs = Encoding.UTF8.GetBytes(InString);//源字符串转换为字节数组
        bs = x.ComputeHash(bs);//加密返回Hash值数组
        StringBuilder s = new StringBuilder();
        foreach (byte b in bs)//循环生成字符串
        {
            s.Append(b.ToString("x2").ToUpper());
        }
        string ECode = s.ToString();//加密后的字符串
        string E1 = ECode.Substring(0, 3);//前三位
        string E2 = ECode.Substring(3, s.Length-3);
        return E1+"-"+E2;
    }
    static void Main()
    {
        Console.WriteLine(Encrypt("ABCDE"));
        Console.ReadLine();
    }
}