![](https://private-user-images.githubusercontent.com/20926959/276080138-a8a920dd-2e08-47c8-8f53-973e22ed196c.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MTEyODksIm5iZiI6MTcyMDgxMDk4OSwicGF0aCI6Ii8yMDkyNjk1OS8yNzYwODAxMzgtYThhOTIwZGQtMmUwOC00N2M4LThmNTMtOTczZTIyZWQxOTZjLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzEyVDE5MDMwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc3ODk3ZGQxMzkzYWViZWMxZWMyMGJkOGQ3MDEzZWE2OTYzZTMyMzk2NDE1MDFjMDJjMWQ0OTU2YmQzMTMyZjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.VYy121Qx9Su9icsoRLxtbAFpDLSGRQPbB0r20aKRiEE)
- Socket Chatting Program (Client/Server)
- C / Linux / CLI
- Multi-Thread
- Message Send Process: Plain Text -> AES-256/CBC Decryption -> Binary -> Base64 Encoding
- Message Receive Process: Base64 Encoded String -> Base64 Decoding -> Binary -> AES Decryption -> Plain Text
- Chatting Log: Auto save to file (dialog messages are base64-encoded)
- Exit: input 'X' or 'Ctrl + C'
$ make clean
$ make
$ ./server [Port]
$ ./client [IP] [Port] [Name]
![](https://private-user-images.githubusercontent.com/20926959/276080135-844504ce-985b-4855-a7be-96efa7aab598.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MTEyODksIm5iZiI6MTcyMDgxMDk4OSwicGF0aCI6Ii8yMDkyNjk1OS8yNzYwODAxMzUtODQ0NTA0Y2UtOTg1Yi00ODU1LWE3YmUtOTZlZmE3YWFiNTk4LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzEyVDE5MDMwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNlY2M3Mjc0MzNmN2UwNjYwYTZjM2FhMWQ3OTdhOGVhMzczMGFmNDNjOWUxN2QxZTBiNWY1ZmU4MGNjNDU1ZWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.R-a28rkvzCPO9VhxaehuAAvIoVCuzeiDgn9Kl8cSJOY)
![](https://private-user-images.githubusercontent.com/20926959/276080134-fec5cf2d-a886-4d48-ab25-fd7a28a12c5f.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MTEyODksIm5iZiI6MTcyMDgxMDk4OSwicGF0aCI6Ii8yMDkyNjk1OS8yNzYwODAxMzQtZmVjNWNmMmQtYTg4Ni00ZDQ4LWFiMjUtZmQ3YTI4YTEyYzVmLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzEyVDE5MDMwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRjZWRhZTM4MWFiMWE2NzFhNjYyOWNlY2ZhZTk2ZDIyNTE1Mjk1ODlkZTRjMmNjODc4ZDU4MTkzZDQ3ZmM3MmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.DEI6cvJsOgX9F5cgRrAn6lo-f-IP7ohHKpz2jUuQNGc)
![](https://private-user-images.githubusercontent.com/20926959/276080127-d1cc8190-354d-484b-b81f-f3d26e495f03.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MTEyODksIm5iZiI6MTcyMDgxMDk4OSwicGF0aCI6Ii8yMDkyNjk1OS8yNzYwODAxMjctZDFjYzgxOTAtMzU0ZC00ODRiLWI4MWYtZjNkMjZlNDk1ZjAzLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzEyVDE5MDMwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEwYmRhMmQxMGQ3NDZhNzMzYTNlNjNmMjc1Yzk0YTM1ODY3MTNkNDQ2NmQ5YzEwNDk3YTJiMDEyZmVjNjg2OGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.VOLO_3VYmCBK35lCHwcKjxt2uAOxHHDGljcnW16nKww)