在c#中编码数据 - 在RoR中解码数据

时间:2016-08-04 18:55:05

标签: c# ruby-on-rails base64 encode

我遇到了Base64.decode64的问题

在我的xamarin应用中,我用C#加密信息:

public static string Encrypt(string _stringEncrypt)
{
    string result = string.Empty;
    byte[] encryted = System.Text.Encoding.Unicode.GetBytes(_stringEncrypt);
    result = Convert.ToBase64String(encryted);
    return result;
}

之后,将端点发送到我的api

HttpClient client = new HttpClient();
client.BaseAddress = new Uri(Global.server);
string url = string.Format("/api/login?username={0}&password={1}", Global.Encrypt(entryUserName.Text), Global.Encrypt(entryUserPass.Text));
var response = await client.GetAsync(url);

我的api代码:

def login
  username = Base64.decode64(params[:username])
  userpass = Base64.decode64(params[:password])

  user_log = User.authenticate(username, userpass)
end

我的问题是登录名为空。我做"放数据"在开发人员服务器中,这个是正确的。

然后我打开rails控制台,我拍下一个代码:

url = "http://www.mymy.com/api/login?username="+Base64.encode64s("myuser")+"&password="+Base64.encode64s("mypass")

data = JSON.parse(RestClient.get(url))

GUALAAAAAA,登录是正确的。

区别在于C#方法和Base64.encode64s de RoR之间的编写结果数据不同

推荐的任何想法?

pd:对不起我的英语!

0 个答案:

没有答案