我試圖通過在 varbinary 上轉換它來創建一種自加密方式和解密方式,但問題是當我嘗試對其進行解密時,結果與加密字串有很大不同。
var name = "JUAN KARLOS"; //Random name
var a = name.ToArray();
byte[] b = new byte[a.Length];
byte[] c = System.Text.Encoding.UTF8.GetBytes(a);
c.CopyTo(b, 0);
string d = BitConverter.ToString(b);
d = d.Replace("-", "");
d = @"0x" d;
這是我對結果進行加密的方式:
0x4A55414E204B41524C4F53
這就是我解密的方式:
byte[] e = System.Text.Encoding.UTF8.GetBytes(d);
string f = Convert.ToBase64String(e);
string g = String.Format(f);
結果是:
MHg0QTU1NDE0RTIwNEI0MTUyNEM0RjUz
它是否因為我將“-”替換為“”而改變了值?
uj5u.com熱心網友回復:
您可以使用此代碼來獲取結果:
public static byte[] StringToByteArray(string hex)
{
return Enumerable.Range(2, hex.Length - 2)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
}
主要的
var name = "JUAN KARLOS"; //Random name
var a = name.ToArray();
byte[] b = new byte[a.Length];
byte[] c = System.Text.Encoding.UTF8.GetBytes(a);
c.CopyTo(b, 0);
string d = BitConverter.ToString(b);
d = d.Replace("-", "");
d = @"0x" d;
//d="0x4A55414E204B41524C4F53"
byte[] t = StringToByteArray(d);
string tt = System.Text.Encoding.UTF8.GetString(t);
結果將是:
JUAN KARLOS
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511758.html
