2016-05-07 13 views
-2

これはbadargエラーを出す行461のコードスニペットです。このエラーを解決するのを手伝ってください。cryptoの呼び出しで不正な引数があります:aes_cfb_128_crypt

ejabberd_odbc:escape(base64:encode(crypto:aes_cfb_128_encrypt(<<"abcdefghabcdefgh">>, <<"12345678abcdefgh">>, xml:element_to_binary(NewPacket)))), 

ログイン:暗号への呼び出しで

悪い引数:aes_cfb_128_crypt(< < "abcdefghabcdefgh" >>、< < "12345678abcdefgh" >>、< <「>、真)mod_offlineで: '-store_offline_msg/6-fun-2 - '/2行225

+0

あなたが指定したコードは一行もありません。 'lists:flatmap'は閉じられていません。さらに、 'XML'とは何ですか?関数 'str:str'とは何ですか?助けることができるためには、多くの詳細が欠落しています。 –

+0

この関数の質問コードにも追加したいと思うかもしれません: '{file、" src/mod_offline.erl "}、 {line、462}' – Amiramix

答えて

1

機能的な言語について私が気に入っていることの1つは、制御された環境でエラーを再現するのが一般に簡単なことです。

base64:decode(XML) 

などのEMSは、失敗の呼びかけであるので、あなたは

io:format("XML=~p~n", [XML]), 
base64:decode(XML) 

を書くべき最初の行は、Erlangの構文でXMLの内容をプリントアウトし、あなたが取得するときに、第2行は失敗します。悪い入力。

デコードしようとしている文字列が表示されたら、問題は明らかです(文字列ではないか、base64文字列ではありません)。 で、正しくエンコードされたbase64文字列の場合、その問題をStackOverflowの質問として投稿し、より有用な応答を得ることができます。

+0

ありがとうナサニエル。 – Nitin

関連する問題