Summary
In this chapter, we have looked at several types of attacks that could be used to compromise an application. We have also covered strategies to mitigate those issues, along with worked examples.
We have presented the use of crypto libraries for the encryption and decryption of data, both at rest and in transit. We have covered hashing libraries, and how they can be used to securely store user credentials. We have also shown how TLS configuration can be used to secure communication between clients and servers. With these tools in mind, you can now start writing secure applications.
In the next chapter, we will be learning about some lesser-known packages in Go, such as reflection and unsafe.