Secure_Address_Book (with AES, Base64, MySQL)

  • 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

addr_book_db

  • 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

Build

$ make clean  
$ make  
$ ./addr_book  
$ output.bin    (*example)

Example (addr_book_db)

./addr_book

DBeaver

Ref