❶ 如何給電腦加密
為了有效保護個人數據安全,防止他人在未經允許的情況下使用自己的電腦,我們一般都通過修改CMOS設置開機密碼、系統加密或隱藏硬碟等方法防範他人。從理論上講,這些方法最為保險有效,可以說是系統保護的根本方法。其實,還有一些方法同樣可以達到在未經本人允許情況下,禁止「菜鳥」動用自己電腦的目的: 1、修改Autoexec.bat文件設定密碼 在系統安裝盤根目錄下打開Autoexec.bat文件,加入如下的內容: @echo off choice /c:*/n 「*」為預先設置好的一位密碼,我們可以開動腦筋,設置不易被人破解的一位密碼(如輸入ASCII碼)。重新啟動計算機後,你會發現在進入Windows 9x系統會出現黑屏,屏幕左上角有一個游標在跳動,只有輸入設置的密碼才可以進入Windows 9x。 2、修改注冊表設置口令 首先確保在網路設置中安裝了「Microsoft友好登錄」,然後運行注冊表編輯器,依次展開[HKEY_LOCAL_]分支,新建名為「Mustbevalidated」的DWORD值,並將該鍵值設置為「1」。這樣,其他人登錄時如果不輸入口令就無法登錄系統了。 3、禁用「用戶」、「密碼」設置選項 在注冊表編輯器中依次展開HKEY_CURRENT_分支,建立NoProfilePage、NoSecCPL兩個DWORD值,均賦值為「1」,則控制面板的「用戶」、「密碼」選項都將被禁止。 4、限制使用應用程序 打開注冊表編輯器,依次展開[HKEY_CURRENT_]分支,新建名為「RestrictRun」的DWORD值,並將該鍵值設置為「1」。然後再建立字元串值並以「1」、「2」、「3」命名,將它們設置為允許執行使用的程序,如「notepad.exe」、「regedit.exe」等等,沒有設置的程序系統將禁止運行。 其實,提防他人動用電腦的方法還有很多,比如我們可以用專門的加密軟體來為應用程序或可執行文件加密等等,有興趣的讀者可以自己去網上下載相關的軟體試用。
❷ DES加密解密結果為何不一致
這個問題主要涉及編碼、輸入格式、輸出格式、加密模式這幾個方面的問題,還有一些細節問題比如空格與回車。 首先是編碼問題,在線的編碼格式一般默認是UTF-8,因此如果網頁編碼不是UTF-8,則會導致加密的結果不一樣。因為DES演算法本質上是對二進制內容進行加密,同樣的文字經過不同的編碼映射成的二進制內容並不相同。 其次,是輸入格式問題。一般在網頁的輸入是文本格式(Plain Text),但是許多教程為了方便理解,寫的輸入格式是16進制,比如 DES演算法實例講解 這篇文章裡面主要用的是16進制格式作為講解,對於許多在線工具,明文和密鑰輸入用的是文本格式。因此,在輸入的時候一定要注意區分。 然後,是輸出格式的問題。有些在線加密工具輸出會自動進行Base64編碼,這樣結果和直接加密的結果完全不同。DES加密的密文是16進制格式的,無法一一對應成ASCII碼。密文要麼以16進制輸出,要麼輸出一堆亂碼,而Base64能將一個較長的16進制數組編碼為一個字元串,方便處理。 最後,是加密模式的問題。DES本身採用的是ECB(電子密碼本)模式,即將加密的數據分成若干組,每組的大小跟加密密鑰長度相同,這樣密文輸出完全由明文和密鑰決定。為了進一步加強安全性,有許多安全性擴展,就誕生了別的加密模式,比如加密塊鏈模式CBC、加密反饋模式CFB等等。不同的模式加密結果也會完全不同。 在附帶一點細節問題,即空格與回車的問題。尤其是在字元串處理的時候,有些字元串會帶回車換行(0x0D 0x0A),這會造成最後一個64位字元塊加密有些許差別。還有一些文本框自動(trigger)去除空格,就導致文本中的空格沒有被計算在內,導致加密不同。
❸ 下面程序實現如下功能:輸入一行字母將字母加密輸出("a"變成"c","b"變成"d", 一直到"z"變成"b")
代碼如下:
#include<stdio.h>
#include<string.h>
int main()
{
char a[50];
gets(a);
for(int i=0;i<strlen(a);i++)
{
if(a[i]>='a'&&a[i]<'z'||a[i]>='A'&&a[i]<'Z')
{
a[i]=a[i]+1;
}
else if(a[i]=='z'||a[i]=='Z')
{
a[i]+=1;
}
else
a[i]=a[i];
}
puts(a);
return 0;
}
(3)ascii在線加密擴展閱讀
getchar()函數的作用是從計算機終端(一般為鍵盤)獲取一個無符號字元。getchar()函數只能接收一個字元,其函數值就是從輸入設備獲取到的字元。
getchar由宏實現:#define getchar() getc(stdin)。getchar有一個int型的返回值。當程序調用getchar時,程序就等著用戶按鍵。用戶輸入的字元被存放在鍵盤緩沖區中。直到用戶按回車為止。當用戶鍵入回車之後,getchar才開始從stdin流中每次讀入一個字元。
getchar函數的返回值是用戶輸入的字元的ASCII碼,若文件結尾則返回-1(EOF),且將用戶輸入的字元回顯到屏幕。如用戶在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤緩存區中,等待後續getchar調用讀取。
也就是說,後續的getchar調用不會等待用戶按鍵,而直接讀取緩沖區中的字元,直到緩沖區中的字元讀完後,才等待用戶按鍵。
❹ 文件的加解密處理
2) 解密:解密過程與加密過程的順序正好相反,即從第一個字元開始,每個字元依次反復減去」49632873」中的數字,若執行減法後得到一個負數,則把這個負數加122然後取余,即 (N+122)%122, 其中N為負數。
例如:把xqk解密
(x) 120-4 (q)111-9 (k) 107-6
變為 the
2.3 其他要求
(1)變數、函數命名符合規范。
(2)注釋詳細:每個變數都要求有注釋說明用途;函數有注釋說明功能,對參數、返回值也要以注釋的形式說明用途;關鍵的語句段要求有注釋解釋。
(3)程序的層次清晰,可讀性強。
❺ 密碼加密方式有哪些
M5D 加密是最常見的 加密演算法成千上萬 幾種 我看沒人能說得出來哈 不可逆的加密就不是加密啦 都讀不出來了 那些數據已經沒意義了。所以加密都是可逆的。
希望對你能有所幫助。
❻ WEP加密 16進制密鑰值1234567890 ASCII密鑰值什麼
16進制的取值范圍為0-F;
1234567890 對應的10進制數為78187493520。
將每個數轉換為ASCII碼為:3738313837343933353230(16進制)
5556495655525751535048(10進制)
❼ C語言字元串加密
問題不小,你表面用的是C
但是,好多地方不符合C的語法
,,比如:
for
(int
i=0;
str[i]
!=
'\0';
i++)
還有,就是你好像沒有弄清楚
,你要做什麼似的,有好多無用的東西,
就像你的函數里的,key
,雖然你提到key了,但是你根本沒有使用key,你只是使用45來進行加密,,還有就是一個文件
的大小,是不確定的,你用一個100個字元的字元串來存,有點那個不安全了,,如果稍長一點就會出問題,產生運行時錯誤。其實你這個加密和解密是一個可逆過程,用一個函數,就可以了,具體你想要的也不是太明白,就給你弄了一個簡單一點加密和解密程序
,輸入輸出不是同一個文件
,不知道是不是你想要的。
#include
#include
#include
void
Decrypt()
{
char
fname[FILENAME_MAX];
char
fname2[FILENAME_MAX];
FILE*
fp;
FILE*
fp1;
int
key;
char
c;
printf("輸入要加/解密文件的路徑:\n");
scanf("%s",
fname);
printf("請輸入密鑰:\n");
scanf("%d",&key);
strcpy(fname2,fname);
strcat(fname2,".txt");
if(
(fp
=
fopen(fname,"r+"))
==
NULL)
{
printf("error");
exit(1);
}
if(
(fp1
=
fopen(fname2,"w+"))
==
NULL)
{
printf("error");
exit(1);
}
while(
(c
=
fgetc(fp))
!=
EOF)
{
c
=
c^key;
fputc(c,fp1);
}
fcloseall();
}
int
main()
{
Decrypt();
return
0;
}
如果想看一些好一點的加密演算法
,我這里有一些,聯系我發給你
,,
❽ C語言指針:編寫程序,對輸入的一行小寫字母進行加密處理。
void encrypt(char *s)
{
while(*s)
{
if(*s>='a'&&*s<='z')
*s=(*s+1-'a')%26+'a';
s++;
}
}
#include<stdio.h>
int main()
{
char s[128];
printf("請輸入一個字元串:");
scanf("%s",s);
encrypt(s);
printf("加密後:%s\n",s);
return 0;
}
❾ 關於C語言ASCII碼的問題
在處理字母大小寫轉換的時候要用到ASCII
因為大小寫相差32.
因為每個字母有相應的ASCII。所以字母可以做運算。
也就是可以字母加密。可以字母移位。等等
0.指的是整形的時候整數0
『0』代表的ASCII里的0,其相應的值是48.
『\0'是表示結束的字元。經常用這個表示循環的終止。他在ASCII里的值為0
還有在簡單計算器的時候也會用到!
❿ 網址加密,怎麼實現
實現辦法:
(1)利用彈出窗口封鎖滑鼠右鍵將下面這段代碼放在網頁HTML代碼的標志中,就可以實現封鎖右鍵,給網頁加密。
<script language="javascript">function click() {if (event.button==2) {alert('本站不準使用右鍵,使用左鍵吧!^_^') }}document.onmousedown=click</script>
(2)彈出「添加收藏夾」封鎖滑鼠右鍵將下面這段代碼放在網頁的HTML代碼的標志中。實現點擊右鍵出現「添加到收藏夾」選項。
<script language="javascript">function click() {if (event.button==2) {window.external.addFavorite('http://www.51CTO.com/,' 51CTO')}}document.onmousedown=click</script>
(3)徹底封鎖滑鼠右鍵將下面這段代碼放在網頁的HTML代碼的標志中能夠實現徹底封鎖滑鼠右鍵的效果,由於這個腳本在右鍵按下時調用一個函數,所以可以改為很多種類型。即使按下左鍵,再按下右鍵,放開左鍵,再放開右鍵的方法也還是破解不了。
<script>function DM(e){if(!ns){if(event.button>1)window.external.addFavorite('http://www.popunet.com/,' 大眾網路報')}else{if(e.which>1)return false}}ns=navigator.appName=="Netscape";if(ns)document.captureEvents(Event.MOUSEMOVE|Event.MOUSEDOWN);document.onmousemove=DM;document.onmousedown=DM;</script>
(4)禁止查看源文件將下面這段代碼放在網頁的HTML代碼的標志中則可以實現禁止利用IE瀏覽器查看源文件。
<script language="JavaScript"><!--document.onmousedown=clickfunction click() {if ( event.button==2) {alert('不準查看源文件') }if ( event.button==3) {alert('不準查看源文件') }}//--></script>
(5)用亂碼顯示鏈接、調用地址加密。利用某些函數把URL字元轉換成ASCII碼,從而達到隱藏鏈接Frame頁面和*.js,*.asp等腳本的目的。返回ASCII碼escape(character),ASCII碼為%XX格式,XX是十六進制,如空格鍵為%20。返回字元unEscape(string)。