2014-02-27 68 views
0

我正在從事Java安全。地穴不能解決

我導入下面的包。

import java.security.*; 

和我使用的地下室作爲Crypt.createSha(fPrint);

在編譯時它說Crypt不能得到解決。

有什麼建議。

+4

是什麼讓你覺得'java.security'中有'Crypt'類? – Dukeling

+1

該類在['java.security'](http://docs.oracle.com/javase/7/docs/api/java/security/package-summary.html)包中不存在。 – pickypg

+0

你需要包含外部庫,這個類不存在於這個包中 – Kick

回答

1

Crypt不是java.security包中的類。如果要創建sha1散列,請使用MessageDigest類,並逐個提供數據。下面的例子忽略了將字節[]轉換爲字符串並關閉文件的細節,但是應該給出總體思路。

public byte[] createSha1(File file) throws Exception { 
    MessageDigest digest = MessageDigest.getInstance("SHA-1"); 
    InputStream fis = new FileInputStream(file); 
    int n = 0; 
    byte[] buffer = new byte[8192]; 
    while (n != -1) { 
     n = fis.read(buffer); 
     if (n > 0) { 
      digest.update(buffer, 0, n); 
     } 
    } 
    return digest.digest(); 
} 
+0

請關閉你的流 – 2014-02-27 06:30:52

+0

請仔細閱讀答案。我已經說過,我只給你一個大概的想法,而不是完整的代碼。 – Aks