2013-04-16 7 views
3

나는 Jasypt 1.9를 사용하고 있으며 느낌표가있는 암호를 암호화하려고 시도하면 실패합니다. 이 예에 대한 느낌표Jasypt 1.9 : 느낌표로 암호 암호화

없이 잘 작동 :

./encrypt.sh input="abc!abc" 
-sh: !abc": event not found 

Jasypt가 여기에 고정 주장 .. http://www.jasypt.org/changelogs/jasypt/ChangeLog.txt

참고 :

./encrypt.sh input="abc\!abc" works, but decrypting produces the "abc\!abc" 
+0

무엇이 당신의 질문입니까? –

+0

** ** 암호를 암호화하지 마십시오 **, 공격자가 암호를 알아 내면 암호 키도 받게됩니다. 해시 함수만으로는 충분하지 않으며 단지 소금을 추가하면 보안을 향상시키는 데별로 도움이되지 않습니다. 약 100ms 동안 무작위 소금으로 HMAC를 반복하고 소금을 해시로 저장하십시오. 'ehash','PBKDF2','Rfc2898DeriveBytes','Bcrypt','passlib.hash' 또는 유사한 함수를 사용하십시오. 요점은 공격자가 무차별 한 암호를 찾기 위해 상당한 시간을 소비하게하는 것입니다. – zaph

답변

6

를 사용하여 작은 따옴표 대신 두 배. 큰 따옴표를 사용하면 쉘은 먼저 !abc을 히스토리 이벤트로 확장하여 오류를 발생 시키려고 시도합니다. 작은 따옴표로 묶인 텍스트는 확장되지 않습니다.

이것은 리눅스 쉘 기능이며 Jasypt와는 아무런 관련이 없습니다. 셸이 식을 실행하기 전에 식을 확장하고 있습니다.