D Dino Medlem sedan sep. 2001 1 914 inlägg Frågan 12 aug. 2004 11:18 #1 Har en kryptering som returnerar(base64):
NuZ5uF0MHtJ54nMc+79t/NR9GAmmaY3vUJu7fZyvww0=
Gör sen om denna till hex:
4e755a357546304d48744a35346e4d632b3739742f4e523947416d6d61593376554a7537665a79767777303d
Hur gör jag för att få tillbaka den till base64 från hex
F fredrik Medlem sedan dec. 1999 1 072 inlägg Börja med att läsa tillbaka den till bytes, och sen göra om till hex igen, typ:
Dim bts() as byte = Convert.FromBase64("NuZ5uF0MHtJ54nMc+79t/NR9GAmmaY3vUJu7fZyvww0=")
Dim b() as byte
Dim hex as string
for each b in bts
hex += String.Format("{0:X2}", b)
next
D Dino Medlem sedan sep. 2001 1 914 inlägg Hade redan fått hjälp på annat håll, glömde att skriva det här.
Lösningen är nedan och kom från en Jon Skeet.
#region HexToString
private static int ParseHexDigit(char c)
{
if(c >= '0' && c <= '9')
{
return c-'0';
}
if(c >= 'a' && c <= 'f')
{
return c-'a'+10;
}
if(c >= 'A' && c <= 'F')
{
return c-'A'+10;
}
throw new ArgumentException("Invalid hex character");
}
public static string HexToString(string hex)
{
char[] result = new char[hex.Length/2];
int hexIndex = 0;
for (int i=0; i < result.Length; i++)
{
result[i] = (char)(ParseHexDigit(hex[hexIndex++])*16 + ParseHexDigit(hex[hexIndex++]));
}
return new string (result);
}
#endregion
F fredrik Medlem sedan dec. 1999 1 072 inlägg Känns aningen som lite mycket kod för det...men men, det viktiga är förstås att det fungerar...! :)