请教关于注册码的算法?
小弟初学,现有个问题想请教各位大大: 如何根据给定的一个不定长度的字符串,得出对应的注册码?
注册码最好是类似于XXXXX-XXXXX-XXXXX-XXXXX(字母和数字的组合)这种的。
重点是要可以通过注册码反推出原本给定的字符串。
我大概有个思路,就是不知道是否可以实现呢?
1.程序通过硬件信息(CPU ID或硬盘ID)得出机器码;
2.客户将机器码发送给作者;
3.作者将机器码经RSA加密后得出加密的字符串;
4.作者将加密的字符串变换为类似于"XXXXX-XXXXX-XXXXX-XXXXX"等形式的注册码;
5.作者将注册码发送给客户;
6.客户输入注册码;
7.程序将注册码变换为加密的字符串;
8.程序将加密的字符串经RSA解密后得出机器码;
9.程序检验机器码是否与本机硬件相符后判定是否注册成功。
以上是我一个大致的思路。现在的问题是,如果按照这个思路走,其它的步骤都没有问题,关键在于第4和第7步。也就是不知道在第4步时如何将加密后的字符串变成类似于"XXXXX-XXXXX-XXXXX-XXXXX"等形式的注册码,而在第7步时又该如何通过这个注册码反推出加密后的字符串呢?如果这条路走不通,又该如何实现这种功能呢?
小弟愚笨,公平请大家帮帮忙,不吝赐教,谢谢。