修改在发现问题出现在应用程序的其他位置后,完全更改了问题。
我正在使用Flex中的Heroku客户端,我正在尝试构建身份验证工具。 Heroku使用基本HTTP身份验证,因此我设置我的User类来存储电子邮件和密码,并公开一个方法,该方法将返回由冒号分隔的电子邮件和密码的base64编码字符串表示。然而,编码器会切断字符串中的最后4个字符(通过内置于* Nix中的openssl编码器对相同的字符串进行编码来测试。我用来编码值的代码如下:
public function getAuthString():String{
var encoder:Base64Encoder = new Base64Encoder();
encoder.insertNewLines = false;
encoder.encode(email + ':' + password);
trace(email + ':' + password);
trace(encoder.toString());
return encoder.toString();
}
电子邮件和密码的跟踪是正确的,但encoder.toString()
调用返回一个短4个字符的字符串(长度为45个字符,而不是49个字符)。
之前是否有其他人遇到此问题?如果是这样,你是如何解决它的?
答案 0 :(得分:0)
ActionScript实现正在按预期工作。 openssl实现假设换行。您看到的额外四个字符是换行符。