asp.net,编码和解码 [英] asp.net, encode and decode

查看:70
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆