3 Password Manager

 

This chapter covers

  • Data encryption concepts
  • Working with Bcrypt
  • Saving data to a Mongodb collection

Building applications on the server provides immediate benefits over building on the client. One of those benefits is enhanced control over data security.

The server engineer is typically responsible for protecting data in the database, determining what data the client can view, and who can see it. For this reason, there are a multitude of encryption packages on the npm registry to use with Node to hide sensitive data from all other than the data’s original owner.

In this chapter, you will build a password manager using the bcrypt encryption package and mongodb for persistent storage. You’ll start by understanding what happens under the hood with encryption and how you can use this mechanism to build an effective productivity tool. Later, you’ll introduce document storage with MongoDB to stay your encrypted data for future access.

Tools & applications used in this chapter

Before you get started, you’ll need to install and configure the following tools and applications that are used in this project. Detailed instructions are provided for you in the specified appendix. When you’ve finished, return here and continue.

  • Appendix A.1.2 Installing VS Code
  • Appendix A.1.3 Installing Node
  • Appendix A.1.4 Installing MongoDB

3.1 Your prompt

3.1.1 Get planning

3.2 Building a local command-line manager

3.3 Saving passwords with MongoDB

3.4 Summary