- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
带加密的密码类编程要点一、密码类的结构
PassWordstruct user{ char username[ll]; char password[ll]; }up[10];
void ReadFile() void WriteFile() void InputUserName(int i) void hide(char mm[]) void InputPassWord(int i) void AppendUser() void DeIUser() void ModifyPassword() void PrintUser()void ModifyUser(char cz[])
二、密码类的定义
#includeconio.h
#includefstream
#includestring.h
#includeiostream using namespace std;class Password
private: struct user (
char username[11]; char password[11];}up[10];
public: Password()int i;
for(i=0;ill;i++)strcpy(up[i] .username,n n);
strcpy(up[i] .password,n n);
} void void void void void void voidReadFile()
WriteFile()//读用户文件
//写用户文件GetUserName(char uname
InputUserName(int hide(char mm[]) InputPassWord(int AppendUser()i)
i)[],int i) //获取用户名
//输入用户名//隐藏输入密码
//输入密码//增加用户
1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12,13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,
7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11};int m[64];
int
IP1[64]={40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,58,26, 33,1,41,9,49,17,57,25};
int
IP[64]={58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7};
void minwei()〃产生明文二进制流
(
char minwen[]=,computerH;for (int i=0;i8;i++)//将明文字符转换为二进制流
{data=int(minwen[i]);for(int j=7;j=0;j-)
{ m[8*i+j]=data%2;data=data/2;
)
)
)
void code()〃加密函数
(
int L[32],R[32];coutvv”明文是;
for(int i=0;iv8;i++)〃输出明文字符
{ int h=0;
for(int j=0;j8;j++)h=h+m[i*8+j]*pow(2,7-j);
cout?char(h); h=0;
)
cout?endl;for (i=0;iv64;i++)〃输出明文二进制流
cout?m[i];cout?endl;
int b[64];for(i=0;i64;i++)
b[i]=m[i];for(i=0;i64;i++)〃进行 IP 置换
m[i]=b[IP[i]-1];
for(i=0;i32;i++)〃进行左右分组{L[i]=m[i];R[i]=m[i+32];}
for(int kk=1 ;kk=16;kk++)〃循环加密开始了{int EL[48];//扩展后的 48 的 Ri-1
for(i=0;i48;i++
文档评论(0)