當前位置:編程學習大全網 - 源碼下載 - 用C++編制壹個程序,將輸入的壹行字符以加密的形式輸出,然後將其解密,解密的字符序列與輸入的正文比較

用C++編制壹個程序,將輸入的壹行字符以加密的形式輸出,然後將其解密,解密的字符序列與輸入的正文比較

按妳的要求簡單寫了壹個程序,不知道是否符合要求?

程序截圖:

源代碼如下,如果有什麽問題歡迎追問:

#include?<iostream>

#include?<string>

using?namespace?std;

const?char?STR_ENCRYPTION_USED[]?=?"4962873";

const?string?zdsEncryption(string?zStr); //<加密

const?string?zdsDecryption(string?zStr); //<解密

int?main(){

string?zdsEnter?=?"";

cout<<"Please?Enter?a?string:";

cin>>zdsEnter;

if?(zdsEnter.size()?>?0){

string?zdsPlaintext?=?zdsDecryption(zdsEncryption(zdsEnter));

if(zdsEnter?==?zdsPlaintext){

cout<<"Encryption?success,Plain?Text?is:?"<<zdsPlaintext<<endl;?

}else{

cout<<"Encryption?failed!"<<endl;?

}

}else{

cout<<"Enter?Error!"<<endl;

}

system("pause");

return?0;

}

const?string?zdsEncryption(?string?zStr?)

{

unsigned?int?i=0;

unsigned?int?j=0;

string?strEncrypt?=?STR_ENCRYPTION_USED;

for?(;i<zStr.size();i++){

for?(;j<strEncrypt.size();j++){

zStr[i]=char(int(zStr[i])+int(strEncrypt[j]));

}

if?(j?==?strEncrypt.size()){

j?=?0;

}

}

cout<<zStr<<endl;

return?zStr;

}

const?string?zdsDecryption(?string?zStr?)

{

unsigned?int?i=0;

unsigned?int?j=0;

string?strEncrypt?=?STR_ENCRYPTION_USED;

for?(;i<zStr.size();i++){

for?(;j<strEncrypt.size();j++){

zStr[i]=char(int(zStr[i])-int(strEncrypt[j]));

}

if?(j?==?strEncrypt.size()){

j?=?0;

}

}

return?zStr;

}

  • 上一篇:盤點武漢軟件開發公司比較好的有哪些?具體在哪裏?
  • 下一篇:PHP接私活做的項目有沒有什麽套路
  • copyright 2024編程學習大全網