728x90
반응형
Groovy에서 md5sum 을 구하려면, Java 의 MessageDigest 모듈을 이용해야 한다. 안타깝게도 file 에 대한 md5 checksum 을 구하는 부분은 구현되어 있지 않기 때문에 별도로 구현해야 한다. 다른 언어에서의 방법과 유사하므로 그리 어렵지는 않다. Java 의 모듈을 그대로 이용해야하기 때문에, 구현은 Java 의 그것과 거의 같다.
import java.security.MessageDigest
def md5sum(final file) {
MessageDigest digest = MessageDigest.getInstance("MD5")
file.withInputStream() { is ->
byte[] buffer = new byte[8192]
int read = 0
while( (read = is.read(buffer)) > 0) {
digest.update(buffer, 0, read);
}
}
byte[] md5 = digest.digest()
BigInteger bigInt = new BigInteger(1, md5)
return bigInt.toString(16).padLeft(32, '0')
}
println md5sum(new File("md5sum.groovy"))
728x90
반응형
'Programming > Groovy' 카테고리의 다른 글
(Groovy) 버전 정보 가져오기 (0) | 2012.05.23 |
---|---|
Groovy : 수정된지 N일이 넘는 파일들 삭제하기 (0) | 2012.03.09 |
Groovy : 클로져(반복자)에서 빠져나오기 (0) | 2012.03.07 |
Groovy : 100MB 이상의 파일중에서 중복된 파일 찾기 (0) | 2012.03.07 |
Groovy : 하위 디렉토리의 모든 파일 출력하기 (0) | 2012.03.05 |
댓글