본문 바로가기

운동하는 개발자/Linux

윈도우와 리눅스 바이트 값 차이 / AES_KEY 값 다름(feat. 엔디언)

728x90

최근 OpenSSL에 있는 AES암호화 작업을 개발 한 적 있다

AES암호화를 하기 전 키를 생성하는데 분명 같은 파라미터를 넘겼는데 OS에 따라 윈도우와 리눅스 환경에서 서로 다른값이 나왔다 (바이트단위로 로깅해서 확인)
여기서 왜 키가 다를까 하고 계속 멈춰있다가 그냥 디버깅을 이후까지 돌려봤는데 암호화 결과는 정상적으로 둘 다 똑같이 나오는걸 보았다..

어떻게 다른 키로 암호화를 했는데 서로 같은값이 나오나 하고 값을 빤히 보다보니 뭔가 비슷하면서도 다른게 자세히보니 엔디언의 차이 였다

 

윈도우(ms build)에서는 리틀엔디언(Little endian)을 보여주고 있었고

리눅스(GCC)에서는 빅엔디언(big endian)으로 보여주고 있었다

하 진짜 별꺼아니였는데 뭘 잘못하거나 padding을 잘못한 줄 알고 여기서 거의 반나절을 묶여있었다 

내가 까먹지 않기 위해 써 놓는글..


 

728x90