asp.net,编码和解码 [英] asp.net, encode and decode
本文介绍了asp.net,编码和解码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,
编码:
Hello,
Encode:
public static string Base64EncodingMethod(string sData)
{
byte[] encodingDataASBytes = System.Text.Encoding.Unicode.GetBytes(sData);
string sReturnValues = System.Convert.ToBase64String(encodingDataASBytes);
return sReturnValues;
}
解码:
Decode:
public static string Base64DecodingMethod(string sData)
{
byte[] encData = System.Convert.ToBase64String(sData);
string result = System.Text.ASCIIEncoding.ASCII.GetString(encData);
return result;
}
这是我的编码和解码代码.
但是在解码时发生了一个错误.
错误: Base-64字符串中的无效字符.
谢谢,
This is my code for encode and decode.
But at decoding time one error is occured.
Error: Invalid character in a Base-64 string.
Thanks,
推荐答案
试试这个进行编码和解码
Hi,
try this for encoding and decoding
public static string GetEncryptedPassword(string password)
{
string newPass = string.Empty;
int num = new Random().Next(1, 10);
foreach (char ch in password)
{
newPass += (char)(ch + num);
}
newPass += (char)num;
return newPass;
}
public static string GetDecryptedPassword(string password)
{
string decryptedPassword = string.Empty;
int num = (int)password[password.Length - 1];
password = password.Remove(password.Length - 1, 1);
foreach (char ch in password)
{
decryptedPassword += (char)(ch - num);
}
return decryptedPassword;
}
祝你好运
快乐编码:)
Best Luck
Happy Coding:)
解码时,尝试:
While Decoding, try:
string returnValue = System.Text.Encoding.UTF8.GetString(encodedDataAsBytes);
可以获取结果而不是ASCII编码.
因此,总体而言:
to get back the result instead of ASCII encoding.
Thus, overall:
// Encode:
public static string EncodeTo64UTF8(string m_enc)
{
byte[] toEncodeAsBytes = System.Text.Encoding.UTF8.GetBytes(m_enc);
string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
}
// Decode:
public static string DecodeFrom64(string m_enc)
{
byte[] encodedDataAsBytes = System.Convert.FromBase64String(m_enc);
string returnValue = System.Text.Encoding.UTF8.GetString(encodedDataAsBytes);
return returnValue;
}
我认为您的解码功能是错误的.应该执行FromBase64String
I think your decode function is wrong.. Should do FromBase64String
public static string Base64DecodingMethod(string encodedData)
{
byte[] data = System.Convert.FromBase64String(encodedData);
return System.Text.Encoding.Unicode.GetString(data);
}
我的建议:
My suggestion:
public class Base64
{
public static string Encode(string value, Encoding enc = null)
{
if (enc == null)
enc = Encoding.UTF8; // Use UTF8 as default
return Convert.ToBase64String(enc.GetBytes(value));
}
public static string Decode(string data, Encoding enc = null)
{
if (enc == null)
enc = Encoding.UTF8; // Use UTF8 as default
return enc.GetString(Convert.FromBase64String(data));
}
}
这篇关于asp.net,编码和解码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文