Codierung und Decodierung in c# asp.net?
ich bin mit der Kodierung und der Decodierung :
Zur Codierung:
private string EncodeServerName(string ServerName)
{
byte[] NameEncodein = new byte[ServerName.Length];
NameEncodein = System.Text.Encoding.UTF8.GetBytes(ServerName);
string EcodedName = Convert.ToBase64String(NameEncodein);
return EcodedName;
}
- und Entschlüsselung:
public string DecoAndGetServerName(string Servername)
{
System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
System.Text.Decoder strDecoder = encoder.GetDecoder();
byte[] to_DecodeByte = Convert.FromBase64String(Servername);
int charCount = strDecoder.GetCharCount(to_DecodeByte, 0, to_DecodeByte.Length);
char[] decoded_char = new char[charCount];
strDecoder.GetChars(to_DecodeByte, 0, to_DecodeByte.Length, decoded_char,0);
string Name = new string(decoded_char);
return Name;
}
Sende ich ServerName:DEV-SQL1\SQL2008
Codiert:REVWLVNRTDFcU1FMMjAwOA==
Wieder möchte ich entschlüsseln, aber immer Ausnahme:in der Zeile:
byte[] to_DecodeByte = Convert.FromBase64String(Servername);
Ausnahme:
`Die Eingabe ist keine gültige Base-64-Zeichenfolge, da es enthält eine nicht-base-64-Zeichen,
mehr als zwei Füllzeichen, oder ein nicht-white-space-Zeichen unter der Polsterung Zeichen.`
Wie dieses Problem zu lösen.
Bitte Helfen Sie Mir
- Melden/Zeigen Sie Ihre codierte Zeichenfolge rechts nach codieren und rechts, bevor Sie zu decodieren. Stellen Sie sicher, es ist genau das gleiche.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code scheint zu Komplex :-), hier ist eine, die funktioniert:
den gleichen code bei mir funktioniert, was Sie geschrieben
DecoAndGetServerName()
.die Sache ist, Sie brauchen, um passieren
ENCODED STRING
zu IhremDecoAndGetServerName()
Funktion,welche codiert sein kann wie :
Das ist, warum Sie bekam, dass der Fehler
The input is not a valid Base-64 string as it contains a non-base 64 character,...
.