![](https://private-user-images.githubusercontent.com/20926959/276079952-dde13b80-0f2d-4a40-9a49-06ba98bf046b.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg0OTU2NjksIm5iZiI6MTcxODQ5NTM2OSwicGF0aCI6Ii8yMDkyNjk1OS8yNzYwNzk5NTItZGRlMTNiODAtMGYyZC00YTQwLTlhNDktMDZiYTk4YmYwNDZiLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE1VDIzNDkyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRjODRkMWE3ZGU4ZDk2ZDU2YzlmODY0ZGRkYzc4M2Y1MTJkNTRkMTYwODhiZDEyZjJlMmMyNmVhNDRhOTc1NTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.jfZvpdoQzk8cmmQto3thhf4Up6E-ZL5a0MH1nES7GKE)
- Data Structure: Linked List
- CRUD (Insert Update Delete Select)
- AES Encrpytion (AES-256, MODE= CBC, Padding= PKCS7)
- When program terminated, data in the linked-list is stored as a file.
- When program started, data in the file is loaded.
- Distinguish each person by ID
- Not normal text, save to Binary Data
- Makefile
- Shared Library
- private data(phone number) : Base64 Encoded
- Add a menu to view the private data when authenticated by DB password
- Plain Text -> (AES-256/CBC) Encryption -> Binary Data -> (Base64) Encoding
- (Base64) Encoded Text -> Decoding (Base64) -> Binary Data -> Decryption (AES-256/CBC) -> Plain Text
$ make clean
$ make
$ ./addr_book
$ output.bin (*example)
![](https://private-user-images.githubusercontent.com/20926959/276079961-b7e41013-e49b-497c-be86-86e805d2c3ff.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg0OTU2NjksIm5iZiI6MTcxODQ5NTM2OSwicGF0aCI6Ii8yMDkyNjk1OS8yNzYwNzk5NjEtYjdlNDEwMTMtZTQ5Yi00OTdjLWJlODYtODZlODA1ZDJjM2ZmLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE1VDIzNDkyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI2MDhlMWIxZWRiN2UxOTA3MTc2N2QyYWZkMzY2OTEwZTIyMzQwY2FjYTgwMjQ4ZTMxOGU3MzMyZDBlNzk4M2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ljoIXUsT4fw4c17mzHa-4zzv3LnIAj0wt-EAEfxJcRc)
![](https://private-user-images.githubusercontent.com/20926959/276079966-0d7b85ff-84f3-4ca1-baf1-17ad1ceb8e21.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg0OTU2NjksIm5iZiI6MTcxODQ5NTM2OSwicGF0aCI6Ii8yMDkyNjk1OS8yNzYwNzk5NjYtMGQ3Yjg1ZmYtODRmMy00Y2ExLWJhZjEtMTdhZDFjZWI4ZTIxLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE1VDIzNDkyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRmZWM1Y2RlYjdhNmMwNmIzM2EzNzE4ZGU4NDAxOGMzNDQyYjNkOTVlMGNmYTY0MzVkZDg4NDQwYzJhYTE3MjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.l8cdkyILgytp9KzUMKa32j3JGi6lAWuJUlu8DovrHzI)