⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jiami.h

📁 基于计算机特征码的软件注册加密及序列号生成的源程序
💻 H
字号:
#include <math.h>

CString GetRegPasswd(CString DirName) 
{ 
//将用户名换算成15位注册码 
long Num1,Num2,Num3; 

char sn[16]={0}; 
CString p; 
int i,len; 

Num1=0; 
Num2=0; 
Num3=0; 

len=int(strlen(DirName)); 
if(len!=0) 
{ 
for( i=1;i<=len;i++) 
{ 
//第一步算法 
Num1=(long(Num1+(int(DirName[i-1])*i*i)*(i*sqrt(DirName[i-1])+1)))%100000; 
//第二步算法 
Num2=(Num2*i+(long(pow((int)DirName[i-1],2)*i)))%100000; 
//第三步算法 
Num3=(Num2+(long)sqrt(Num1))%100000; 
} 
//以下把三个算法结果分别生成5个字符,共有15个 
for(i=0;i<5;i++) 
sn[i]=(int)(Num1+31+i*i*i)%128; 
for(i=5;i<10;i++) 
sn[i]=(int)(Num2+31+i*i*i)%128; 
for(i=10;i<15;i++) 
sn[i]=(int)(Num3+31+i*i*i)%128; 
sn[15]=0; 
//以下循环把所有生成的字符转换为0---9,A---Z,a----z 
for(i=0;i<15;i++) 
{ 
while((sn[i]<'0' || sn[i]>'9') && (sn[i]<'A' || sn[i]>'Z') &&(sn[i]<'a' || sn[i]>'z') ) 
{ 
sn[i]=(sn[i]+31+7*i)%128; 
} 
} 
//赋值给一个CSTRING变量,用做函数返回值 
p.Format("%s",sn); 
} 
return p; 
} 

CString LockTable(CString strInput,UINT nLen)//密码表加密
{
	int Key;
	TCHAR mm;
	for (UINT i = 0;i<nLen;i++)
	{
		Key = int(fmod(i,8));
		mm = strInput.GetAt(i) ^ TCHAR(pow(2,Key));
		strInput.SetAt(i,mm);
	}
	return strInput;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -