我有一些麻煩匹配來自RSA簽名 一個Base64 SHA1哈希在C#中的返回結果的動作as3crypto庫返回的值。AS3Crypto RSA簽名
我正在傳遞一個Base64哈希解碼爲一個字節數組到符號() 函數提供的as3crypto和base64編碼結果。 但是,此結果與執行相同任務的c# 函數的返回結果不匹配。 函數接收並返回十六進制,即使它在字節 數組級別上工作,是否有關係?
請參閱我在下面簽名功能來檢查我沒有錯過任何 !
private function signHash(hashInBase64:String):String
{
var src:ByteArray = Base64.decodeToByteArray(hashInBase64);
var key:RSAKey = getRSAKey();
var dst:ByteArray = new ByteArray();
key.sign(src, dst, src.length);
return Base64.encodeByteArray(dst);
}
任何人都有很多AS3Crypto庫的經驗?
任何幫助將是巨大的!
感謝,
喬恩
「不要緊,該函數以即使它工作在字節數組級別返回十六進制?」 ...你的意思是,它需要在第64頁,或者你真的認爲它需要在十六進制...也許這是問題?基地64和十六進制是顯着不同的...任何十六進制值是一個幾乎有效的base64值(除了基地64總是填充的長度可分爲4),所以解碼器可能會把它... – back2dos 2009-09-29 08:53:56
也是,什麼當你驗證簽名時,你會得到嗎?它工作嗎? – back2dos 2009-09-29 09:00:23
簽名算法需要一個字節數組,但所有的例子都是從十六進制到一個bytearay,所以我把base64轉換爲一個字節數組,它們會轉換爲相同的字節嗎?驗證也不起作用,這個庫的問題是沒有文檔。 – Jon 2009-09-29 09:23:42