當前位置:首頁 » 密碼管理 » vc字元串加密

vc字元串加密

發布時間: 2023-08-02 17:03:49

① 如何將VC 程序加密防盜

學名密鑰盤,是當下軟體保護的最好辦法,有專門的外包供應商,在中國比較專業的例如飛天誠信,其盤能乎胡襲存儲私鑰,私鑰不可導出。一般內部有硬體實現的哈希演算法很公鑰演算法,能簽名,校驗歲兄,非常安全。在軟體運行時不做氏停監測密鑰盤的存在,並校驗口令。
換句話說,是軟體就能破解,包括這種方式,就看破解成本的大小。可以修改程序完全繞過密鑰盤。
軟體保護的終極形態是把演算法固化為硬體,灌參數運行。
另外在線激活是個不錯的身份授權方式

② 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

③ C語言設計一個用簡單的加密程序,即用字母替換的方式加密,程序運行中發現問題,求解釋。

原因就是char是1個位元組的,你不能超過127(hi,樓上的,不是128哦,是-128~127不要誤人子弟),你到後面的vwxyz已經溢出,所以是亂碼。
我的解決方法就很簡單,就是換成unsigned char 數組,這樣取值范圍增大到(0~255)就可以了,既簡單又不破壞原有的結構

還有
else if(str[i]<'a')
{
str[i]+=26;
}
這句話是廢話,可以刪掉

我修改過的版本
#include <stdio.h>
#include <string.h>
#include <ctype.h>

void EncodeString(unsigned char *str,int key)
{
int length,i;//length為傳入字元串長度,i用作循環計數器
length=strlen(str);
for(i=0;i<length;i++)//對字元串中的每個字元依次進行加密
{
if(isupper(str[i]))//對大寫字母加密
{
str[i]+=key%26;
if(str[i]>'Z')
{
str[i]-=26;
}

}
else if(islower(str[i]))//對小寫字母加密
{
str[i]+=key%26;
if(str[i]>'z')
{
str[i]-=26;
}

}

}
}

void main()
{
unsigned char arr[50],buffer;//arr[50]用來接收字元串信息,buffer用來接收緩沖區中的回車
int key;//key為加密秘鑰
printf("This program encodes messages using a cyclic cipher.\n");
printf("To stop, enter 0 as the key.\n");
while(1)//程序一直運行,直到輸入密鑰0為止
{
printf("Enter the key: ");
scanf("%d",&key);
scanf("%c",&buffer);
if(0==key)
{
break;//輸入密鑰為0,則退出程序
}
printf("Enter a message: ");
scanf("%s",arr);
scanf("%c",&buffer);
EncodeString(arr,key);
printf("Encoded message: %s\n",arr);
}
}

④ VC 簡單加密!

#include <stdio.h>
#include <string.h>void main()
{
char a[50] = "加密~!中英文都要支持!越簡單越好!";//原文
char b[50];
char key[5] = "abcd\0";//密鑰
int i, j; printf("原文:%s\n\n", a);
printf("密鑰:%s\n\n", key); for (i = 0; i < strlen(a); i ++)
{
for (j = 0; j < 4; j ++)
{
b[i] = a[i] ^ key[j];//將每一個原文字元跟密鑰字元異或
}
}
b[i] = 0;//結束字元串

printf("加密後:%s\n\n", b); for (i = 0; i < strlen(a); i ++)
{
for (j = 3; j >= 0; j --)
{
b[i] = b[i] ^ key[j];
}
}
printf("解密後:%s\n\n", a);
}

⑤ 誰有VC中用MD5對字元串進行加密的源碼

1 public String md5(String s)
2 {
3 System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
4 byte[] bytes = System.Text.Encoding.UTF8.GetBytes(s);
5 bytes = md5.ComputeHash(bytes);
6 md5.Clear();
7
8 string ret = "";
9 for(int i=0 ; i<bytes.Length ; i++)
10 {
11 ret += Convert.ToString(bytes[i],16).PadLeft(2,'0');
12 }
13
14 return ret.PadLeft(32,'0');
15 }

這個函數實現傳如string,返回md5的string

⑥ 用C語言編寫一個對稱加密演算法,對字元串加密

/*本問題的關鍵是如何交換ASCII的二進制位,下面提供簡短演算法,並附上VC++6.0環境下的運行結果截圖。

*/

#include<stdio.h>

charswapbit(charc){

chari,num=0,ch[8];

for(i=0;i<8;i++){

ch[i]=c&1;

c=(c>>1);

}

for(i=0;i<8;i++){

num=2*num+ch[i];

}

returnnum;

}

intmain(){

charch;

for(ch='A';ch<='Z';ch++){

printf("%c=%X:%X ",ch,ch,0XFF&swapbit(ch));

}

return0;

}

熱點內容
其他電腦怎麼設置訪問伺服器 發布:2025-02-01 21:34:27 瀏覽:894
如何敲編程 發布:2025-02-01 21:26:13 瀏覽:23
微信加密嗎 發布:2025-02-01 21:26:07 瀏覽:42
c語言中的預處理命令 發布:2025-02-01 21:26:07 瀏覽:539
怎麼確認機動車解壓 發布:2025-02-01 20:58:07 瀏覽:47
怎樣配置ntp伺服器地址和埠號 發布:2025-02-01 20:57:53 瀏覽:465
java培訓哪家就業好 發布:2025-02-01 20:53:27 瀏覽:426
安卓什麼游戲下載軟體好用 發布:2025-02-01 20:53:26 瀏覽:376
sql語句時間段查詢 發布:2025-02-01 20:36:12 瀏覽:637
迷你世界體驗碼密碼是多少 發布:2025-02-01 20:10:18 瀏覽:533