簡體   English   中英

用erlang計算文件的校驗和

[英]Computing the checksum of a file in erlang

我正在嘗試使用erlang提供的BIF計算大文件的md5校驗和:

  1. erlang:md5_init()
  2. erlang:md5_update()
  3. erlang:md5_final()

在下面的代碼中:

to_md5_large(File) ->
    case file:read_file(File) of
        {ok, <<A:4/binary,B/binary>>} -> md5_helper(B,erlang:md5_init(A));
        {error,Reason} -> exit(Reason)
    end.

md5_helper(<<A:4/binary,B>>,Acc) -> md5_helper(B,erlang:md5_update(Acc,A));
md5_helper(A,Acc) -> 
    B =     erlang:md5_update(Acc,A),
    erlang:md5_final(B).

但是,似乎無法識別md5_init()。 當我編譯時,一切正常,返回{ok,module}但是運行時,我收到一條錯誤消息,指出上面顯示的行上有一個未定義的函數md5_init。 有什么建議么?

erlang:md5_init沒有參數。

不要忘記,編譯時不會檢查其他模塊中定義的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM