- ASP.NET Core 2 High Performance(Second Edition)
- James Singleton
- 148字
- 2021-07-08 09:39:01
Slower is sometimes better
In some situations, processes are designed to be slow, and this is essential to their operation and security. A good example of this, which may be a hit in profiling, is password hashing or key stretching. A secure password hashing function should be slow so that the password, which (despite being bad practice) may have been reused on other services, is not easily recovered.
We should not use generic hashing functions, such as MD5, SHA1, and SHA256, to hash passwords because they are too quick. Some better algorithms that are designed for this task are PBKDF2 and bcrypt or even Argon2 for new projects. Always remember to use a unique salt per password too. We won't go into any more details here, but you can clearly see that speeding up password hashing would be bad, and it's important to identify where to apply optimizations.
- 程序員修煉之道:程序設計入門30講
- 微服務與事件驅動架構
- Python程序設計(第3版)
- 趣學Python算法100例
- Python爬蟲開發與項目實戰
- PHP+Ajax+jQuery網站開發項目式教程
- D3.js By Example
- Learning YARN
- Scala for Machine Learning(Second Edition)
- Getting Started with Nano Server
- Building Serverless Architectures
- jQuery for Designers Beginner's Guide Second Edition
- Koa與Node.js開發實戰
- Isomorphic Go
- Python滲透測試編程技術:方法與實踐(第2版)