![](https://private-user-images.githubusercontent.com/20926959/276079952-dde13b80-0f2d-4a40-9a49-06ba98bf046b.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MDk4MTcsIm5iZiI6MTcyMDgwOTUxNywicGF0aCI6Ii8yMDkyNjk1OS8yNzYwNzk5NTItZGRlMTNiODAtMGYyZC00YTQwLTlhNDktMDZiYTk4YmYwNDZiLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzEyVDE4MzgzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBmZGUxOTBjZmRjOWI0MjMzZjdlYmZhMmRhMDUzZmQwNmIzZTg5NDgzNTI4MzJhMmUyM2M2ODRhYmJjOTc4NDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.vhrmMTAImscRNUBCIfRHL07vc7BgT5WCUKP9j-52T08)
- 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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MDk4MTcsIm5iZiI6MTcyMDgwOTUxNywicGF0aCI6Ii8yMDkyNjk1OS8yNzYwNzk5NjEtYjdlNDEwMTMtZTQ5Yi00OTdjLWJlODYtODZlODA1ZDJjM2ZmLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzEyVDE4MzgzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYwMmIxZDNhYWE5MGJlNGNiZTVmNmU0N2NjY2E3NzIxM2U0ZjY0ZWM0MjhkZjBiNWNmMzFmZGM3OTg4MWY0YTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Zfre2kwWn1D9EaK-phGX-xj9wlBYs0vHFz47Cvlso7w)
![](https://private-user-images.githubusercontent.com/20926959/276079966-0d7b85ff-84f3-4ca1-baf1-17ad1ceb8e21.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA4MDk4MTcsIm5iZiI6MTcyMDgwOTUxNywicGF0aCI6Ii8yMDkyNjk1OS8yNzYwNzk5NjYtMGQ3Yjg1ZmYtODRmMy00Y2ExLWJhZjEtMTdhZDFjZWI4ZTIxLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzEyVDE4MzgzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAzNTdiNzBkNGU0Njg1YmRiMDhhYjg3ODhhNjg3ZjY4ZDdlZDgzYjE0ZWFmYThlZjExNGZlOTQ4ZDE3NThiYjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.2j1gG_fKHNDRpdzApW4n9OtsT-IUNJTv6wmDLavFFFg)