2012-03-28 124 views
0

我將像"1ijga8ZMQsjlN//74b+D9g=="字符串傳遞給用於解密的方法比進行,但是當我將存儲字符串轉換成字符串變量和大於變量傳遞給該方法除了下面的錯誤遭遇:如何解決Base-64字符數組的無效長度?

無效長度爲一個基地-64字符數組。

有問題的代碼:

String hdDec = Dispatch.call(c10, "Decrypt",hd, passPhrase, saltValue, hashAlgorithm, passwordIterations, initVector, keySize).toString(); 
+2

請顯示您的實際代碼。 – 2012-03-28 07:12:52

+0

String hdDec = Dispatch.call(c10,「Decrypt」,「1ijga8ZMQsjlN // 74b + D9g ==」,passPhrase,saltValue,hashAlgorithm,passwordIterations,initVector,keySize).toString(); – tapanmodh 2012-03-28 07:15:46

+0

當我使用變量像字符串hd =「1ijga8ZMQsjlN // 74b + D9g ==」,然後將該字符串變量hd傳遞給方法String hdDec = Dispatch.call(c10,「Decrypt」,hd,passPhrase,saltValue,hashAlgorithm, passwordIterations,initVector,keySize).toString(); – tapanmodh 2012-03-28 07:17:49

回答

0

解決你的問題,你需要先Encode,然後Decode的所有準備編碼-的base64字符串,取決於你從使用它的位置。

請看看你分享不提供足夠的信息來解決這個問題下面link

0

的代碼,因爲你只共享代碼電話做所有的工作方法。但由於錯誤信息是

Base-64字符數組的長度無效。

問題可以是您發送string和方法需要char[],所以你可以嘗試"1ijga8ZMQsjlN//74b+D9g==".ToCharArray()代替。否則,我們所能做的只是猜測。

+0

No.method只接受字符串,我也有相同的2個方法,但他們成功運行只有這個字符串的問題,我不沒有爲什麼??實際上我是抓取這些字符串從地址欄存儲在字符串變量,然後我通過該字符串變量的webservice.and web服務調用上面的代碼。 – tapanmodh 2012-03-28 07:43:01

+0

當webservice訪問這些變量比我想要通過的方法,但上面的錯誤發生的變量。 – tapanmodh 2012-03-28 07:44:42

+0

我們不知道爲什麼,但作爲字符串是一個有效的base64字符串,問題是其中一個參數(passPhrase,saltValue等)或在代碼中 - 你沒有提供這些(唐'從活網站複製/粘貼密碼!)。 – 2012-03-28 08:12:23