C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++のXOR暗号


XOR暗号化またはXOR暗号化は、ブルートフォース方式では解読できないデータ暗号化方式です。

ブルートフォース方式は、ランダムな暗号化キーを生成し、それらを正しいものと照合する方法です。

この暗号化方式を実装するために、暗号化キー(ランダム文字)を定義し、文字列のすべての文字と暗号化キーのXORを実行します。これにより、文字列のすべての文字が暗号化されます。

暗号化の実装を示すプログラム-

#include<iostream>
#include<string.h>
using namespace std;
void XORChiper(char orignalString[]) {
   char xorKey = 'T';
   int len = strlen(orignalString);
   for (int i = 0; i < len; i++){
      orignalString[i] = orignalString[i] ^ xorKey;
      cout<<orignalString[i];
   }
}
int main(){
   char sampleString[] = "Hello!";
   cout<<"The string is: "<<sampleString<<endl;
   cout<<"Encrypted String: ";
   XORChiper(sampleString);
   return 0;
}

出力

The string is: Hello!
Encrypted String: 188;u

  1. C++での文字列のトークン化

    このセクションでは、C++で文字列をトークン化する方法を説明します。 Cでは、文字配列にstrtok()関数を使用できます。ここに文字列クラスがあります。次に、その文字列から区切り文字を使用して文字列を切り取る方法を説明します。 C ++機能を使用するには、文字列を文字列ストリームに変換する必要があります。次に、getline()関数を使用して、タスクを実行できます。 getline()関数は、文字列ストリーム、出力を送信するための別の文字列、およびストリームのスキャンを停止するための区切り文字を受け取ります。 関数がどのように機能しているかを理解するために、次の例を見てみましょう。 サン

  2. C ++で文字列をトークン化しますか?

    最初の方法は、文字列ストリームを使用して、スペースで区切られた単語を読み取ることです。これは少し制限されていますが、適切なチェックを提供すれば、タスクはかなりうまくいきます。 例 #include <vector> #include <string> #include <sstream> using namespace std; int main() {    string str("Hello from the dark side");    string tmp; // A string