0
我正在嘗試使用MD5加密文件。以下列出的是我的代碼。斯卡拉 - 爲什麼我不能使用MD5加密文件?
import java.security.MessageDigest
import scala.io.Source
import java.io.PrintWriter
import java.io.File
object MD5 {
def md5(file: String)= {
val text=Source.fromFile(file)
val s=text.mkString
val hash = MessageDigest.getInstance("MD5").digest(s.getBytes)
hash.map("%02x".format(_)).mkString
}
def main(args:Array[String])={
val cipher=md5("InputFile")
val pw = new PrintWriter(new File("OutputFile"))
pw.write(cipher)
pw.close
}}
不管我INPUTFILE有多大,該OUTPUTFILE似乎總是相同的尺寸(大約10字節)。哪裏出了問題?有人能幫我弄清楚嗎?
MD5不是一個加密算法,但哈希算法...... –
@CyrilleCorpet這就是說,我們不能用MD5加密文件? –
您可以使用MD5獲取哈希碼,但不能獲取您以後可以解密的文件的加密版本。那麼,你實際上*想要做什麼 - 計算文件的MD5散列值,或者對文件進行加密,以便以後解密它?如果你想加密文件,你需要的不是MD5。 – Jesper