我遇到了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:对不起我的英语!