터미널에서 직접 MD5 해시를 어떻게 얻 습니까?
예를 들어 문자열을 abcdefg
해시 하고 싶습니다 . 현재 md5sum 명령은 파일 이름 만 입력으로 허용합니다. 간단히 다음 줄을 입력하고 모든 작업을 완료하고 싶습니다.
md5sum abcdefg
output: ac54bcf346e578feb46888b3ecd2344f
어떻게하면 되나요?
답변
다음과 같이 말할 수도 있습니다.
~$ echo -n Welcome | md5sum
83218ac34c1834c26781fe4bde918ee4 -
기본적으로 @enzotib에서 설명한 것과 동일한 작업을 수행하지만 약간 더 간단합니다.
답변
매우 간단합니다. stdin을 받아들이므로
md5sum <<<"my string"
쉘이 추가 한 후행 줄 바꿈을 피하려면 다음을 수행하십시오.
printf '%s' "my string" | md5sum
답변
$ echo -n 123456 | md5sum | awk '{print $1}'
e10adc3949ba59abbe56e057f20f883e
쉘 스크립트를 작성할 수 있습니다.
예를 들어, 스크립트 이름은 md5.sh입니다.
#!/bin/bash
echo -n $1 | md5sum | awk '{print $1}'
권한 실행 :
chmod +x md5.sh
그때:
$ md5.sh 123456
e10adc3949ba59abbe56e057f20f883e
시스템이 macOS 인 경우 이 스크립트를 수정해야합니다.
$ echo -n 123456 | md5 | awk '{print $1}'
e10adc3949ba59abbe56e057f20f883e
답변
인수없이 md5sum을 실행하면 터미널에서 입력을 읽습니다. 원하는 것을 입력하거나 붙여넣고 완료되면를 눌러 ctrl-d
입력을 종료하십시오.
답변
openssl md5 filename
openssl sha1 filename
문자열 파이프의 경우 echo를 사용하여 내용
echo -n 123456 | openssl md5
답변
--help
for에 대한 나의 빠른 찌르기는 md5sum
다음 명령 을 보여줍니다.
md5sum -
그런 다음 간단한 입력을위한 프롬프트를 표시합니다. 일부 텍스트를 입력 Enter한 다음 Ctrl+ D를 사용하여 파일의 끝 md5sum
을 나타내면 입력 한 원시 텍스트의 MD5를 뱉어냅니다 (포함 Enter, CR, IIRC입니다).
타이핑이 적고 배관이 없습니다! 그리고 쉘 히스토리에 평문 암호가 기록되는 것을 피하십시오! 우!
후행 CR을 원하지 않으면 (일반적으로 암호를 해시하려는 경우) + Enter전에 누르지 말고 대신 +를 두 번 입력하십시오 .CtrlDCtrlD
답변
내 스크립트 에서이 문제에 대해 알아야 할 두 가지가 있음을 발견했습니다.
- 당신이 할 경우 그것은 중요하지 않습니다
echo "$myvariable"
또는echo -n "$myvariable"
당신은 항상 문자열의 doubleqoutes을 사용하고 항상 같은 방법을 사용해야합니다. 그렇지 않으면 일치하지 않습니다. -
출력에서 예제와 같이 항상 후행 공백과 대시가 나타납니다.
$ echo -n Welcome | md5sum 7803ffcaea43bb81a439fde13b29bc35 -
그것을 없애고 코드 만 사용하려면 다음 7803ffcaea43bb81a439fde13b29bc35
을 수행하십시오.echo "$myvariable" | md5sum | cut -d" " -f1