This chapter is about protecting your data from being viewed by malicious users using encryption and from being manipulated or corrupted using hashing and signing. It is also about checking who is running your application and restricting their actions to only those that they are given permission to do.
Note
Security is tightly bound to the operating system, so this is an area that is not very well supported by the .NET Core (at least for now). To complete the exercises in this chapter, I recommend that you target the .NET Framework on Windows 10. Then, once you have learned the skills, you can try implementing them using the equivalent .NET Core types.
This chapter covers the following topics:
Understanding the vocabulary of protection
Encrypting and decrypting data
Hashing data
Signing data
Authenticating and authorizing users