UpdateData(TRUE);
m_miwencode=_T("");
CKEY_PRODUCE rsa;
int codelenght,codenum;
codelenght=m_yuanwencode.GetLength();
codenum=codelenght/3;
CString strmod;
strmod.Format(_T("%d"),Model);
ModeNum=strmod.GetLength();
int Cryptograph;
for (int i=0;i<codenum;i++)
{
CString str;
str=m_yuanwencode.Mid(3*i,3);
int j=(str[0]-'0')*100+(str[1]-'0')*10+(str[2]-'0');
int temp= 1;
for(int k=0;k<PublicKey;k++)
{
temp *= j;
if( temp >= Model )
temp %= Model;
if( !temp )
Cryptograph = temp;
}
Cryptograph = temp % Model;
str.Format(_T("%d"),Cryptograph);
int strnum=str.GetLength();
if (strnum!=ModeNum)
{
int s=ModeNum-strnum;
if (s==1)
{
str=_T("0")+str;
}
if (s==2)
{
str=_T("00")+str;
}
if (s==3)
{
str=_T("000")+str;
}
if (s==4)
{
str=_T("0000")+str;
}
}
m_miwencode+=str;
}
UpdateData(FALSE);
m_miwencode=_T("");
vs2005編寫的C++(mfc)程序。這個可以不,可以加密字元串,要的話把分給我,發你郵箱里
另外,團IDC網上有許多產品團購,便宜有口碑
B. [高分]C語言對字元串的加密和解密
char
ch,name[30],over;
FILE
*fp;
printf("請輸入要加密的文件名(正確的做法是:先把解密的數不知道,你想要什麼樣的加密演算法。
AES不錯。不過AES是對16個位元組長度加密,要是不是16的倍數,處理有點麻煩據保存到字元串里,全部結束之後,一次性把解密
C. 超長字元串如何加密
可以用DES或3DES加密,速度還是比較快的
D. rsa對字元串進行加密
RSA演算法的思路是:如果A要想B發送消息,則A必須從B那獲得公鑰(e,n)而n=p*q,加密是你要發送的消息的每個字元串的e次方mod n。就向你說的將「abcdef」加密。先令26個英文字母對應於0-25的整數,即a-0,b-1,…z-25。然後加密為0^3mod55=0,依次類推信息加密就完成了。解密就是:B 從A那獲得加密後的信息,用私鑰(d,n)解密,得到的信息的每個字元串的d次方mod n。
E. 對輸入的字元串進行簡單加密處理,並輸出加密後的字元串
#include<stdio.h>
#include<string.h>
voidencodedecode(char*s,charc,intn){inti;for(i=0;i<n;i++,s++)*s^=c;}
voidmain(){chars[256],s1[20],c;intn,i;
printf("請輸入字元串:");gets(s);n=strlen(s);
printf("請輸入加密密鑰(單個字元):");gets(s1);c=s1[0];
encodedecode(s,c,n);
printf("加密後的字元串:");for(i=0;i<n;i++)printf("%c",s[i]);printf(" ");
encodedecode(s,c,n);
printf("解密後的字元串:");for(i=0;i<n;i++)printf("%c",s[i]);printf(" ");
}
F. 如何對文本/字元串加密解密
加密解密的演算法都沒錯,錯的是解密程序里的文件操作方法。rewind(fp)沒有必要。因為fp已經被close了。一般不推薦同時對一個文件又讀又寫,因為這樣會導致很多緩沖區同步的問題。比如:fputc()和getc()之間,必須要調用fflush(fp);即使這樣,還是會有問題。比如回車,getc()可能會返回兩個字元,\n和\a。但是用fputc()寫入的時候,分別寫入\n和\a會把第二行第一個字元覆蓋掉。正確的做法是:先把解密的數據保存到字元串里,全部結束之後,一次性把解密完的字元串寫到文件里去。voidmain(){charch,name[30];charcontent[1000];intn=0;FILE*fp;printf("name:\a");gets(name);fp=fopen(name,"r+");if(fp==NULL){printf("Nofile:%s!\n\a",name);return;}ch=getc(fp);while(ch!=EOF){if((isalpha(ch))!=0){if((ch>='a'&&ch='A'&&ch<='D'))ch=ch+22;elsech=ch-4;}content[n++]=ch;ch=getc(fp);//ch=getc(fp);}content[n]=0;rewind(fp);fprintf(fp,"%s",content);fclose(fp);printf("%sok\a\n",name);printf("content:%s\n",content);printf("\n");}
G. 字元串加密
#include <stdio.h>
#include <stdlib.h>
void replace(char *src, int n)
{
char *s = src;
n = n % 26;
while(*s != 0)
{
*s = *s + n;
if(*s > 'Z') *s -= 26;
s++;
}
}
void disorder(char *s, char *key)
{
int len = 0 , i = 0;
char *tmp;
while(s[len++] != 0);
tmp = (char*)malloc(sizeof(char) * (len));
while(i < len) tmp[i] = s[i++];
for(i = 0; i < len - 1; i++)
{
s[i] = tmp[key[i] - '0' - 1];
}
free(tmp);
}
void main()
{
int n;
char str[100], key[100];
printf("input <str n order >: ");
//請合法輸入eg. AXZ 2 231
scanf("%s%d%s", str, &n, key);
replace(str, n);
printf("str = %s\n", str);
disorder(str, key);
printf("str = %s\n", str);
}
H. C語言字元串加密
#include <stdio.h>
encode(char * s)
{
char * x = s;
if (!x) return;
while(*x) {
(*x) += (char)2;
x++;
}
}
main()
{
char a[80];
scanf("%s", a);
encode(a);
printf(a);
}
I. C++ string字元串如何加密
C++ string類重載了[]運算符,因此,可以象數組一樣方便的引用string中的每一個元素,進行數據修改。如,字元串簡單加密方法,A-B, B-C, C-D。。。Z-A的實現代碼如下:
#include<iostream>
#include<string>
usingnamespacestd;
intmain()
{
strings;
cin>>s;//輸入字元串
for(inti=0;i<s.length();i++)//遍歷字元串s.length()為輸入串的長度
{
if(s[i]>='A'&&s[i]<'Z')//處理A-Y
s[i]+=1;
elseif(s[i]=='Z')//處理Z
s[i]='A';
//非大寫字元,不處理
}
cout<<s<<endl;//輸出字元串
return0;
}
運行結果:
AsDfGXyZ
BsEfHYyA
J. 用C語言對字元串加密
沒看懂是什麼意思?輸出的是後幾位的字母及數字,到底輸出多少?加密演算法是什麼??