C言語では、暗号化プログラムを達成するために

はじめに:今日の社会は、あなたが排他的な2人を達成したいか、ソーシャル・ソフトウェアの交流の人々の小さなグループ、個人情報、情報化社会であると歴史をチャット常に見不純な動機を持つ人々である可能性が高いです誰がそれを読んでいませんか?ここでは、プログラムの非常に単純な原理は、暗号化アルゴリズムのC言語の小さなプログラムを実装するのは非常に簡単です与えます。

原理:加算、減算演算ASCLLコード。すべての文字がコードプラス1をASCLLし、「MBOHVBHF」、すべての文字がコードプラス2をASCLLうになるためにそれをプリントアウトし、その後、「プリントアウトされます、私は、「LANGUAGE」キーボードの文字から行を1つの簡単な例を挙げてみようNCPIWCIGはLANGUAGE「「線の間の文字列が最初のメッセージを伝えたかったこと、印刷から一目で出て見ることができる人頼みますか」?同様に、すべての文字マイナス1を達成し、その後、各文字のASCLLコードでこのような「MBOHVBHF」などの暗号化のテキストの翻訳をプリントアウトすることができますが、1ずつ減少し、それをプリントアウトされたコードワードASCLL暗号化され、あなたは「LANGUAGE」を復元することができます。

あなたは十分にスマートなら、あなたは「MBOHVBHFは」オーダーフォームでのシフトの後、英語のアルファベットのすべての文字「LANGUAGE」で見ることができ、「NCPIWCIGは、」英語のアルファベットのすべての文字「LANGUAGE」であります2つのシーケンシャルシフトを形成した後、その後、漢字の状況で、別の見てみてください。

「その後、偽陰性の緑をこすりシティタイムズが遅すぎる大臣を掘る。」私は「私は夕食のために家にいないよ今夜の」キーボードで入力された文字のこれらの文字列はすべて、このようにそれをプリントアウトし、1 ASCLLコードを追加します どのように、ハッハッハ、ない愛する心を見た後?だから、漢字を達成するためには、暗号化するために、このアルゴリズムを翻訳し、絶対に隠されました!漢字コーディングコンピュータ複合体で、文字の位置は、Windows 10システムの下でコードブロックのコンパイラで2つの文字を占めたが、私はセントOSのLinuxシステムでの3つの文字の位置を表す、テストされています覚えています。しかし、関係なく、文字が数文字の位置を占めていない、と各文字算術と逆演算する演算ASCLLコードは、暗号化と翻訳のテキストを達成することができます。

:次の私たちはあなたのソースコード(すべての文字のASCLLコードプラス1、すべての文字をコーディングする変換アルゴリズムの暗号化アルゴリズムASCLLマイナス1)を示し、

ヘッダセクション:

// Trans.h 
#ifndefのTRANS_H_INCLUDED
 の#define TRANS_H_INCLUDED 

する#include <stdio.hに> 
する#include <STDLIB.H> 
する#include < 文字列・H> ボイドレコード生成(CHAR TXT [])
{ ためint型 I = 0 ; iが< STRLEN(TXT); iが++ 
{ 
TXT [I] + = 1 ; 
} 
のprintf(" 生成的加密文字为:%Sの\ n " 、TXT)。
} ボイド(トランスCHAR TXT [])
{ ためint型私は=




0 ;私はstrlenを<(TXT)I ++ 
{ 
TXT [I]は - = 1 ; 
} 
のprintfは(" 復号文である:%S \ N- " 、TXT); 
} 

#endifの // TRANS_H_INCLUDED 
主機能部:

の#include " Trans.h " 

無効メイン()
{ 
char型の TXT [ 1024 ];
 int型の選択; 

のprintf(" --------------- -------翻訳者へようこそ! -------- \ N- " ); 
のprintf(" ********************************** ****************** \ N- " ); 
のprintf("暗号文を生成するN-2 \泣く入力翻訳されたテキストを入力し、暗号化); 
のprintf(N- 0 \を入力してプログラムを終了); 

一方、1 
{ 
のprintf(*********** ***************************************** \ N- " ); 
のprintf(" してくださいあなたの選択を入力してください:" ); 
scanf関数(" %d個 "& 選択肢); 
fflushは(標準入力); 
スイッチ(選択)
{ 
ケース 1 
のprintf(" テキストを入力してください:" ); 
を取得(TXT)を、
クリート(TXTを); 
BREAK ;
 ケース 2 
のprintf(" 暗号化されたテキストを入力してください。" ); 
インクルードは(TXT)を取得し、
トランス(TXT); 
BREAK ;
 ケース 0 
のprintf(" N- \終了成功!" ); 
終了(0 );
 デフォルト
のprintf(" あなた!再度入力してください\ N-、間違って入力された" ); 
} 
システム(" PAUSE " ); 
} 
}

 

次に私たちはあなたに暗号化し、翻訳の効果を示しています。

 

 

思考と改善:ASCLLコードはテキストメッセージの暗号化のすべての文字に1を追加し、簡単に解読されないのだろうか?私は答えるが、直感的に、これは少し簡単な暗号化で感じることができないブロガー暗号の専門家、ないです怖いです。その後、我々はその上のより複雑なすべての文字として処理、プラス正と負の変換の一連の、フィボナッチ数を追加するために、すべての文字と文字の様々なことができます。短い、直感的な感覚では、より困難なより複雑な解読すること。

次はあなたのすべての文字に、ソースコードに加えて、暗号化アルゴリズムを示し、正と負のシリーズを変換します。

ヘッダセクション:

// Trans.h 
#ifndefのTRANS_H_INCLUDED
 の#define TRANS_H_INCLUDED 

する#include <stdio.hに> 
する#include <STDLIB.H> 
する#include < 文字列・H> ボイドレコード生成(CHAR TXT [])
{ int型の F = 1 以下のためにint型 i = 0 ; iはstrlenを<(TXT)iは++ 
{ 
TXT [i]は + = fは、
F = - F。
} 
のprintf(" 生成的加密文字为:%Sの\ n " 、TXT)。
} トランス(CHAR



TXT [])
{ 
int型 F = - 1 以下のためにint型 i = 0 ; iはstrlenを<(TXT)iは++ 
{ 
TXT [i]は + = fは、
F = - F。
} 
のprintf(" 解密后文字为:%Sの\ n " 、TXT)。
} 

#endifの // TRANS_H_INCLUDED

 

デバッグのために主に意図した主な機能部は、単純な暗号化アルゴリズムの主な機能の上部と同じです。

次は、この複雑な暗号化アルゴリズムと翻訳の効果を使用する方法を示しています。

 

おすすめ

転載: www.cnblogs.com/kevin860/p/11084942.html