mcrypt_encrypt
을 사용하여 문자열이 암호화 된 경우 PHP에서 테스트 할 수 있습니까?PHP에서 mcrypt_encode를 사용하여 문자열이 암호화되었는지 테스트하십시오.
답변
:하지만,
암호화 된 일부 데이터 여부는 암호화 기능을 사용 되었으나하는 암호화 알고리즘에 의존하지 않는다. 예를 들어 누군가가 PERL 또는 PHP에서 무언가를 암호화 한 경우 암호화 된 문자열을 사용하여 알 수 없습니다.
이렇게 적용하면 mcrypt_encrypt
을 알 수 없습니다. 이 함수는 암호화 된 데이터 안에 어떠한 사인도 남기지 않습니다.
그러나 키와 원래 텍스트 (일반) 및 알고리즘이있는 경우 mcrypt_encrypt
의 코드는 mcrypt_decrypt
으로 바꿀 수 있습니다. 그런 다음 평원을 비교할 수 있습니다. 일치하면 평문이 특정 키와 알고리즘으로 암호화되었다고 말할 수 있습니다.
우리가 암호화에 대해 말하는 것처럼, 이것은 일반적으로 그렇지 않습니다. 평범하지 않습니다.
그러나 일반 텍스트의 체크섬을 만들고 암호화 할 수도 있습니다. 그런 다음 나중에 암호를 해독하고 암호화 된 평문의 체크섬과 비교하여 데이터가 성공적으로 해독되었는지 여부를 알 수 있습니다. 그러나 이것이 보여 주듯이 실제로 암호화 된 데이터 옆에 추가 정보가 있습니다.
원하는 정보를 더 추가하면 더 유용한 제안을하는 것이 가능할 수 있습니다.
암호화 할 때 문자열에 일부 정적 텍스트를 추가합니다. 원래 문자열이없는 정적 텍스트로 이번에는 mcrypt_encode를 다시 사용하십시오. 암호화 된 정적 텍스트가 암호화 된 문자열에 있는지 확인하십시오. 작동해야합니다
아마도 mcrypt_encrypt()
을 의미할까요? mcrypt_encode() 함수는 없습니다.
아니요. 올바르게 암호화 된 문자열은 임의의 쓰레기와 구별 할 수 없습니다. 암호화 된 문자열을 테스트하여 암호화되었는지 확인하는 유일한 방법은 암호를 해독하는 것입니다.
- 1. PHP에서 문자열이
- 2. robotium을 사용하여 appwidget을 테스트하십시오.
- 3. 모카를 사용하여 백본보기를 테스트하십시오.
- 4. 문자열이 PHP에서 MySQL 함수인지 찾기
- 5. 정규식을 사용하여 유효/유효하지 않은 문자열을 테스트하십시오.
- 6. JWebUnit을 사용하여 버튼 상태를 테스트하십시오.
- 7. MvcContrib을 사용하여 Response.SetCookie()를 테스트하십시오.
- 8. MockEndpoint를 사용하여 Camel 경로를 테스트하십시오.
- 9. 셀레늄을 사용하여 jquery 슬라이드를 테스트하십시오.
- 10. 타란툴라를 사용하여 Rails 앱을 테스트하십시오.
- 11. ParameterTypeTuple을 사용하여 함수 시그니처를 테스트하십시오.
- 12. EasyMock을 사용하여 void 메서드를 테스트하십시오.
- 13. 클라이언트 측에서 JavaScript를 사용하여 페이지가 암호화되었는지 어떻게 알 수 있습니까?
- 14. Regex를 사용하여 "EndsWith"를 효율적으로 테스트하십시오.
- 15. 데이터가 이미 암호화되었는지 여부를 확인하는 방법
- 16. 파일이 EFS로 암호화되었는지 확인하는 방법은 무엇입니까?
- 17. 문자열이 php에서 특정 단어로 끝나는 지 확인합니다.
- 18. PHP에서 문자열이 수학적 문장인지 확인하는 방법은 무엇입니까?
- 19. .NET에서 유효한 JSON을 테스트하십시오.
- 20. 사용하여 C++ 문자열이
- 21. 스레드를 사용하여 네트워크에 Ping을 수행하고 테스트하십시오.
- 22. NUnit을 사용하여 Windows Forms 논리를 테스트하십시오.
- 23. PHP를 사용하여 포트를 열어서 전달했는지 테스트하십시오.
- 24. 여러 ApplicationContext를 사용하여 Spring 구성 요소를 테스트하십시오.
- 25. ActiveMerchant를 사용하여 페이팔 오류 메시지를 테스트하십시오.
- 26. express를 사용하여 node.js에서 HTTP 요청을 테스트하십시오.
- 27. vfsStream을 사용하여 move_uploaded_file 및 is_uploaded_file을 테스트하십시오.
- 28. JWebUnit을 사용하여 다운로드 파일 링크를 테스트하십시오.
- 29. Robotium을 사용하여 onPause(), onDestroy()를 테스트하십시오.
- 30. RequestFactory를 사용하여 로그인해야하는 Django 뷰를 테스트하십시오.
유효한 암호화 된 문자열인지 (암호화되지 않았을지라도) 테스트 되었습니까? 아니면 실제로 암호화 되었습니까? 두 번째 경우, 포기할 수도 있습니다. 암호화가 실제 문자열 (암호화 대기 중)인지 아니면 암호화 된 것인지 알 수 없습니다. – axiomer
다른 기능으로 암호화 된 것과 반대로? –
문자열이 암호화되었는지 여부를 PHP가 알 수있는 방법이 없습니다. @ Mark B가 이미 언급했기 때문에 해독 해보는 것이 유일한 방법입니다 (하지만 데이터를 볼 수 있거나 적어도 추측 할 수 있는지 여부는 암호화 된 것인지 아닌지). 검사. 데이터가 암호화되어 있어야합니다. –