xxxx-xxxx-xxxx-xxxx- xxxxから文字列を取得し、その文字列を持っていれば、その文字列から元の文字列をC#で抽出できます。私はGoogleの検索を持っている私は必要な形式に文字列を変換するいくつかのソリューションを見つけたが、彼らは元の文字列を出力から取得しないでください。それを達成する方法はありますか?文字列をアクティベーションキー(形式xxxx-xxxx-xxxx-xxxx-xxxx)に変換し、アクティベーションキーから元の文字列を抽出する方法
私の希望するフォーマットの文字列を変換するMD5のサンプルがありますが、その文字列を文字列に変換できません。
private static string GetHash(string s)
{
MD5 sec = new MD5CryptoServiceProvider();
ASCIIEncoding enc = new ASCIIEncoding();
byte[] bt = enc.GetBytes(s);
return GetHexString(sec.ComputeHash(bt));
}
private static string GetHexString(byte[] bt)
{
int tmp = (int)'A';
string s = string.Empty;
for (int i = 0; i < bt.Length; i++)
{
byte b = bt[i];
int n, n1, n2;
n = (int)b;
n1 = n & 15;
n2 = (n >> 4) & 15;
if (n2 > 9)
{
tmp = 0;
tmp = (n2 - 10 + (int)'A');
s += ((char)(n2 - 10 + (int)'A')).ToString();
}
else
s += n2.ToString();
if (n1 > 9)
{
tmp = 0;
tmp = (n1 - 10 + (int)'A');
s += ((char)(n1 - 10 + (int)'A')).ToString();
}
else
s += n1.ToString();
if ((i + 1) != bt.Length && (i + 1) % 2 == 0) s += "-";
}
return s;
}
MD5と他の*ハッシング*アルゴリズムは*リバーシブルではありません*、あなたが求めるものはできません。あなたは、AESのような暗号化アルゴリズムと、その出力のプレーンテキストエンコードされ&フォーマットされた表現が必要です。 –
ああ、右。暗号化が実装されており、暗号化された文字列をデコードできます。しかしここで私はxxxx-xxxx-xxxx-xxxx-xxxxの形式でそれを必要とします。それはアクティベーションコードのように見えるはずですが、元の文字列にデコードできます。 –
文字列暗号化のバイトバッファ出力を取り出し、それをエンコード(hex | base64)し、文字列をフォーマットし、受信し、フォーマットを取り除き、バイトバッファにデコードし、復号化します。 –