문제

일부 testRuns로서 콘솔에서 직접 이런 일을하려고 노력합니다.

그것은 일하는 것처럼 보이지 않는다. 어떤 생각은 내가 무엇을하고있는 실수는 무엇인지

salt="3245678906789045689"
password="12321312231"
blub=`sha1($salt.$password)`
-bash: command substitution: line 1: syntax error near unexpected token `$salt.$password'
-bash: command substitution: line 1: `sha1($salt.$password)'
.

오류가 발생합니다 이것은 내가 끝날 때 의도하는 것입니다 :

echo $blub
.

몇 가지 뭐하고있는 오류가 무엇인지에 도움을 드리겠습니다.

도움이 되었습니까?

해결책

아마도 OpenSSL 패키지 에서 sha1을 사용하려고 할 것입니다. 이것은 이미 시스템에 설치되어야합니다.

echo -n "$salt$password" | openssl dgst -sha1
(stdin)= a1b2ce5a82e18f454db6b2d6ee82533914f90337
.

SHA1-digest를 캡처하려면 :

blub=`echo -n "$salt$password" | openssl dgst -sha1 |awk '{print $NF}'`
echo $blub
a1b2ce5a82e18f454db6b2d6ee82533914f90337
.

php 에서 코드를 복사했다고 가정합니다.거기에는 괄호로 호출되고 .-operator가 문자열을 연결합니다.그 해석에서 내 코드는 bash 의 코드와 정확한 것입니다.

다른 팁

나는 Bash에서 ShA 체크섬을 쉽게 수행하고 올바른 방식으로 변수에 넣는 방법에 대해 많은 설명을 보냈지 만 동시에 SHA1을 더 이상 사용해서는 안됩니다.SHA512와 같은 Bruteforce :

dash=`echo -n $password$salt|sha512sum` ##gives hash with trailing dash
read hash rest <<< "$dash" ##removes trailing dash and gives $hash
echo $hash
6555b9d2331203634664f48f604b59372b32badbc115ec6b2586890ef4d3a6b6816d84cc424cdfc538f6a7ccf664c90caeeb942dbf7953051bb1d7414a191c51
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top