2017-05-27 8 views
0

どのようにして、各文字に文字(65)を追加してテキストボックスを暗号化できますか?各文字に文字を追加してテキストボックスの値を暗号化します

例私のテキストボックスにhelloという単語が含まれている場合は、H + char(65)、e + char(67)などを追加します。

私はある種のシリアルキーを成功させたいと思います。

私はテキストボックスにランダムな値を持って来るためにこのコードを使用しています。このコードからそう

 Guid g = Guid.NewGuid(); 
     string GuidString = Convert.ToBase64String(g.ToByteArray()); 
     GuidString = GuidString.Replace("=", ""); 
     GuidString = GuidString.Replace("+", ""); 
     GuidString = GuidString.Replace("/", ""); 
     textBox1.Text = GuidString; 

、私は私のクライアントはので、私は他の文字には、このシリアルキーを変換することができますexeファイルを作りたい、このシリアルkey.U3h2FfzjSkeS47XFSyZmQ

がかかりますよ。 私のクライアントが私にシリアルキーを求めてくると、彼は私にこのexeを与えたこのシリアルを与えなければなりません。

+0

であるため、有効な値を生成します。あなたのGUIDとユーザがテキストをどのように入力したかははっきりしません。入力と出力の完全な例を追加できますか?生成された結果を解読できるようにしたいのですか、またはシリアルキーをランダム化したいだけですか? – Filburt

答えて

1

すべての文字列を繰り返し、対応する値を追加する必要があります。単純に数値を追加して、その値をcharにキャストすることができます。私はあなたのプロジェクトで暗号関連の機能を処理しないことを願っています。

string stringToEncode = "Hello"; 
string encodedString = ""; 

for (int i = 0; i < stringToEncode.Length; i++) 
    encodedString += (char)(stringToEncode[i] + 65); 

シリアルコードは、主に数字、大文字と小文字、時にはダッシュで構成されます。これは、各文字の結果の値がASCIIテーブルに従って指定された範囲のいずれかに分類しなければならないことを意味: - 45

  • 桁 - [48から57]
  • 大文字 -

    • ダッシュ[65 、90]
    • 小文字 - [97、122]

    ソリューションは、エレガントないないようですが、あなたは文字bについて、1つのスタンド用(0スタンドのために独自のマッピングを実装する必要が... 25はzなどの意味です)、ASCIIにマッピングしますcharacter codesでは、文字AとB(A + B)のペアが有効な値を持つかどうかを確認するのではなく、このようにして、あなたの+演算の後ろのアルファベットの長さは常にXOR operation

  • +0

    私はそれのようなものが必要です。しかし、私はすべての奇妙な文字を避けたい* - {} [など]または私は文字を取ることができる場合 – Dim

    関連する問題