當前位置:首頁 » 密碼管理 » c加密軟體

c加密軟體

發布時間: 2025-01-03 08:21:01

1. c語言文本文件加密

你所使用的文件處理函數,均為fputc,fgetc,fscanf等字元處理函數

加密前,文本內容確實是字元串,但是加密後,就會存在非字元型數據,這時候fputc,fgetc,fscanf等函數就不能進行正常處理了。簡單的例子,\0,\13這些數據會被字元處理函數截斷

所以請使用fread,fwrite等函數,這樣就不會局限於字元串了

比如fscanf(rsc,"%d,",&sec[temp]);,你可以寫成fread((void *)&sec[temp],sizeof(int),1,rsc);

2. c 語言常用的加密演算法——MD5

在C語言中,常用的加密演算法主要包括AES、RSA、MD5、SHA-1及Base64編碼。

AES加密演算法是一種對稱加密演算法,廣泛應用於數據加密。通過OpenSSL庫在C語言中實現AES加密。

RSA加密演算法為非對稱加密演算法,使用兩把不同的密鑰進行加密與解密,是最成熟且常用的非對稱加密演算法。同樣使用OpenSSL庫在C語言中實現RSA加密。

MD5演算法作為加密散列函數,產生128位散列值,廣泛應用於C語言中。通過OpenSSL庫實現MD5加密。

SHA-1演算法全稱為Secure Hash Algorithm 1,用於數字簽名、驗證、消息摘要等,C語言中通過OpenSSL庫實現SHA-1加密。

Base64編碼雖非加密演算法,但用於隱藏信息,C語言中通過OpenSSL庫進行Base64編碼與解碼。

實現這些演算法時通常利用OpenSSL庫,因其提供了高效實現,避免了重復開發。

MD5演算法在C語言中的實現示例如下:

#include

#include md5.h>

int main() {

char *str = "Hello, world!";

unsigned char digest[MD5_DIGEST_LENGTH];

MD5((unsigned char*) str, strlen(str), digest);

printf("MD5 hash of \"%s\": ", str);

for (int i = 0; i < MD5_DIGEST_LENGTH; i++) {

printf("%02x", digest[i]);

}

printf(" ");

return 0;

}

通過OpenSSL庫中的MD5函數,傳入字元串與長度,將結果存儲在數組中,然後列印數組內容即為MD5散列值。

3. C語言 異或加密

太麻煩了,建議您可以下載文件夾加密超級大師試試。
文件夾加密超級大師支持所有windows系統,可以加密文件夾,加密文件,保護磁碟和數據粉碎,使用起來非常方便。

4. 如何用C語言來使用openssl rsa進行公鑰加密,已有公鑰和明文

1. 本程序使用2048位密鑰對,每次加密時,原始數據的最大長度為245位元組,加密後的密文長度為256位元組.(採用打PADDING 的加密方式)

2. 如果所加密數據長度大於245位元組,請分多次加密,後將密文按順序存儲;解密時,每次讀取256位元組,進行解密,將解密後的數據依次按順序存儲,即可還原原始數據.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <openssl/rsa.h>
#include <openssl/pem.h>
#include <openssl/err.h>
#define OPENSSLKEY "test.key"
#define PUBLICKEY "test_pub.key"
#define BUFFSIZE 1024
char *my_encrypt(char *str, char *path_key); //加密
char *my_decrypt(char *str, char *path_key); //解密
int main(void)
{
char *source = "i like dancing !!!";
char *ptf_en, *ptf_de;
printf("source is :%s\n", source);
//1.加密
ptf_en = my_encrypt(source, PUBLICKEY);
if (ptf_en == NULL){
return 0;
}else{
printf("ptf_en is :%s\n", ptf_en);
}
//2.解密
ptf_de = my_decrypt(ptf_en, OPENSSLKEY);
if (ptf_de == NULL){
return 0;
}else{
printf("ptf_de is :%s\n", ptf_de);
}
if(ptf_en) free(ptf_en);
if(ptf_de) free(ptf_de);
return 0;
}
//加密
char *my_encrypt(char *str, char *path_key)
{
char *p_en = NULL;
RSA *p_rsa = NULL;
FILE *file = NULL;
int lenth = 0; //flen為源文件長度, rsa_len為秘鑰長度
//1.打開秘鑰文件
if((file = fopen(path_key, "rb")) == NULL)
{
perror("fopen() error 111111111 ");
goto End;
}
//2.從公鑰中獲取 加密的秘鑰
if((p_rsa = PEM_read_RSA_PUBKEY(file, NULL,NULL,NULL )) == NULL)
{
ERR_print_errors_fp(stdout);
goto End;
}
lenth = strlen(str);
p_en = (char *)malloc(256);
if(!p_en)
{
perror("malloc() error 2222222222");
goto End;
}
memset(p_en, 0, 256);
//5.對內容進行加密
if(RSA_public_encrypt(lenth, (unsigned char*)str, (unsigned char*)p_en, p_rsa, RSA_PKCS1_PADDING) < 0)
{
perror("RSA_public_encrypt() error 2222222222");
goto End;
}
End:
//6.釋放秘鑰空間, 關閉文件
if(p_rsa) RSA_free(p_rsa);
if(file) fclose(file);
return p_en;
}
//解密
char *my_decrypt(char *str, char *path_key)
{
char *p_de = NULL;
RSA *p_rsa = NULL;
FILE *file = NULL;
//1.打開秘鑰文件
file = fopen(path_key, "rb");
if(!file)
{
perror("fopen() error 22222222222");
goto End;
}
//2.從私鑰中獲取 解密的秘鑰
if((p_rsa = PEM_read_RSAPrivateKey(file, NULL,NULL,NULL )) == NULL)
{
ERR_print_errors_fp(stdout);
goto End;
}
p_de = (char *)malloc(245);
if(!p_de)
{
perror("malloc() error ");
goto End;
}
memset(p_de, 0, 245);
//5.對內容進行加密
if(RSA_private_decrypt(256, (unsigned char*)str, (unsigned char*)p_de, p_rsa, RSA_PKCS1_PADDING) < 0)
{
perror("RSA_public_encrypt() error ");
goto End;
}
End:
//6.釋放秘鑰空間, 關閉文件
if(p_rsa) RSA_free(p_rsa);
if(file) fclose(file);
return p_de;
}

5. 電腦里的C,D,E盤可以進行加密嗎

網上有各種加密軟體 可以全盤加密的
我用的是 UDE(夏冰軟體) 這個也不錯 我老爹就看不聊我的隱私了
要的話+QQ308351135 給你傳 有注冊碼

《磁碟隱藏和恢復方法大全》
A、磁碟隱藏方法

一.注冊表法.

注冊表操作如下:運行REGEDIT。依次打開:HKEY_CURRENT_ USER\Software\Microsoft\Windows\CurrentVersion\Polices\Explorer\,在右邊空白處單擊右鍵,選新建二進制值,在出現的新值#1上右擊滑鼠,進行重命名,改名為NoDrives。雙擊該鍵值,輸入00 00 00 00(不帶空格,直接輸入,此為系統預設值,全部分區都顯示出來,無隱藏分區)。其中第一組「00」代表A-H盤,第二組「00」代表I-P盤,三、四組依此類推。將第一組「00」改為01可隱藏A盤,改為02可隱藏B盤,改為04可隱藏C盤,改為08可隱藏D盤,改為10隱藏E盤,改為20可隱藏F盤,改為40可隱藏G盤。如果隱藏的是E盤,將鍵值改為「10 00 00 00」即可。 。

二.工具法
磁碟隱藏助手 V1.00.超級魔法兔子等,360安全衛士,完美卸載等.
應用步驟簡單,按照菜單操作就可以了.
如利用Partition Magic隱藏硬碟驅動器

①運行PQMagic。
②選定一個磁碟分區。
③在菜單「Operations」中選「Advanced」下的「Hid Partition」菜單項,在出現的對話框中點擊OK。
④在主窗口下面的兩個按鈕中點擊「Apply」按鈕後重新啟動。驅動器隱藏即告完成。

這樣一來,其它人絕對不會想到會有這個分區,如果想到了,沒有這個軟體的話,也無法使用!

三.磁碟管理.

在「我的電腦」上右擊選擇「管理」,在彈出的「計算機管理」窗口中點擊「存儲」下的「磁碟管理」。在右邊窗口中就會出現本機硬碟的所有分區,右鍵單擊那個待隱藏的分區(比如D盤),從彈出的快捷菜單中選擇「更改驅動器名和路徑」,接著就會彈出「更改本地磁碟(D:)的驅動器號和路徑」窗口,選中窗口裡的「D:」再單擊「刪除」按鈕。此時會彈出「刪除的驅動器號可能會導致程序停止運行。確實要刪除這個驅動器名嗎?」的警告提示,點擊「是」。
最後回到資源管理器中再看一下,D盤真的沒了。而且再在地址欄中輸入「D:」,回車後,會彈出「無法訪問D:\ 此文件夾已被移動或刪除。」的警告信息,從而達到隱藏硬碟的目的。

四.隱藏「MS-DOS方式」下的磁碟驅動器
上訴方法雖然能隱藏磁碟,但在DOS下還可以訪問的,所以也要將其隱藏.
操作步驟如下:

①「開始」→「運行」中輸入regedit,打開注冊表編輯器。
②進入HKEY_CURRENT_USER\SoftWare\Microsoft\Windows\CurrentVersion
\Policies分枝中。
③在該分枝中新建一個主鍵「WinOldApp」,在該主鍵下新建一個DWord值的鍵值名「Disabled」,然後將其鍵值設為「1」。
這樣,不管是在「我的電腦」里,或「MS-DOS」方式下都看不見了.

五.隱藏「我的電腦」

①「開始」→「運行」中輸入regedit,打開注冊表編輯器。
②展開注冊表到HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}分枝中。
③在該分枝中新建一個主鍵「ShellFolder」,然後在右邊的窗口新建一個二進制值「attributes」,其鍵值改為「ff ff ff ff」,關閉注冊表。
重新啟動電腦,當桌面再次出現時,你會發現「我的電腦」不見了!要恢復顯示,刪掉「ShellFolder」主鍵即可!

B、找到隱藏磁碟的方法

一.修改注冊表.對應隱藏方法來改回來就可以了.

二.地址欄.

只要在地址欄和命令提示符下輸入隱藏的盤符如「D:」,仍然可以訪問該驅動器.

三.計算機管理.如果想再次訪問這個分區的內容,就按照上述做法找到「計算機管理」窗口,並在那個無任何標記的本地磁碟上再次右擊選擇「更改驅動器名和路徑」,在彈出的「更改本地磁碟的驅動器號和路徑」窗口中單擊「添加」按鈕,然後在「指派驅動器號」後選擇「D:」,點擊「確定」按鈕便可還原。

四.工具法.相應的隱藏工具能隱藏當然能訪問.這個不詳細說明.

五.屬性法.在桌面或者其他地方的快捷方式點右鍵,查看屬性,在查找目標輸入路徑如「D:」就可以進入相應磁碟.

六.快捷方式.根據上一種方法,我門可以為相應的磁碟或磁碟中的文件新建快捷方式,需要使用某個隱藏磁碟上的文件,點擊快捷方式即可,這樣就能打開相應的文件夾和磁碟了.

不過在你實行操作之前一定要保存好此文件,並且記熟操作步驟,不然的話操作以後找不回磁碟也是一個相當麻煩的問題的,請你一定要謹慎操作為好。

熱點內容
javafor是什麼意思 發布:2025-05-10 02:23:09 瀏覽:841
學生雲伺服器可以搭建網站嗎 發布:2025-05-10 02:10:36 瀏覽:440
共享的文件怎麼訪問許可權 發布:2025-05-10 02:02:49 瀏覽:165
如何選生信分析伺服器 發布:2025-05-10 01:53:11 瀏覽:408
移動ip案例雲dns伺服器 發布:2025-05-10 01:51:46 瀏覽:165
俠盜飛車解壓密碼是多少 發布:2025-05-10 01:45:04 瀏覽:712
c語言程序操作 發布:2025-05-10 01:23:04 瀏覽:413
ad濾波演算法 發布:2025-05-10 01:17:59 瀏覽:895
自製網路存儲 發布:2025-05-10 01:03:29 瀏覽:505
java防重復提交 發布:2025-05-10 01:02:32 瀏覽:737