2011-12-01 37 views
0

編輯發現問題在應用程序中的其他位置後完全更改。Base64Encoder切斷字符串的最後4個字符

我正在Flex的Heroku客戶端上工作,現在正在嘗試構建認證工具。 Heroku使用基本的HTTP身份驗證,所以我設置我的用戶類來存儲電子郵件和密碼,並公開一個方法,該方法將返回由冒號分隔的電子郵件和密碼的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

這是一個flex移動應用程序,它只出現在模擬器中。該設備似乎處理事情很好。 –

回答

0

ActionScript實現按預期工作。openssl實現離子假設換行符。您看到的額外四個字符是換行符。

+0

哦,好的。當我在Flash Builder模擬器中運行代碼時,我登錄,然後彈出一個彈出窗口(不是flash)詢問用戶名和密碼。當我在實際的設備上運行代碼時,它根本沒有出現。這僅僅是Flash Builder的一個功能來隱藏用戶名和密碼或其他東西? –

相關問題