2010-01-23 2 views
4

정말 혼란 스럽네요. - 끝 부분에 단일 문자 배치와 관련이 있거나 추측하지 못하는 기본 다이제스트로 패딩을 할 수 있다고 생각하십니까?명령 줄에서 base64 문자열이 curl에서 계산 된 base64 문자열과 다른 이유는 무엇입니까?

curl -v -u [email protected]:password https:// 
aG9zdEBtYWlsLmNvbTpwYXNzd29yZA== 

당신은 것을 알 수 있습니다 : 나는 곱슬 곱슬 요청을 할 경우, 이제

echo '[email protected]:password' | openssl enc -base64 
aG9zdEBtYWlsLmNvbTpwYXNzd29yZAo= 

: 나는 이것을 실행하면

그래서, 당신은 base64로 인코딩의 제품을 볼 수 있습니다 base64 문자열은 동일하지 않습니다. 하하? base64 명령 행은 실제로 올바르지 않습니다. 요청에서이를 대체하면 실패합니다. 기본 다이제스트는 실제로 base64 문자열을 사용하지 않습니까? 나는 항상 O = 대신 문자열의 끝에 ==를 쓰고 있다는 것을 알고 있습니다 ...

아이디어가 있습니까?

편집 : 그래서, 그것은 에코의 뒤에 줄 바꿈이었다 가 후행 개행 문자를 출력하지

감사 할 -n!

답변

7
>>> 'aG9zdEBtYWlsLmNvbTpwYXNzd29yZA=='.decode('base64') 
'[email protected]:password' 
>>> 'aG9zdEBtYWlsLmNvbTpwYXNzd29yZAo='.decode('base64') 
'[email protected]:password\n' 

대신 echo -n을 시도하십시오.

+0

echo -n "[email protected] : password"| openssl enc -base64 aG9zdEBtYWlsLmNvbTpwYXNzd29yZA == ... 작동하지 않는 것 같습니다. –

+0

>>> 'aG9zdEBtYWlsLmNvbTpwYXNzd29yZA =='디코드 ('base64') \ '[email protected] : 암호'... 나에게 잘 어울립니다 ... –

+0

DOH - 죄송합니다 - 실제 사용자와 비교했습니다 : 패스 . ㅎ, 대단히 고마워! –