Posts

Showing posts with the label Week 17

Week 13 to 17 - Learning with MCR Codes

Image
My experience with  @MCRcodes   as a Quality Assurance Tester.  This is an evening part-time coding boot camp based in central Manchester which runs for 24 weeks, from February 2018 to July 2018. Week 13 (May 2018) -  A new month, and a very heavy new topic ReactJS. The plan is to focus on this technology for the next couple of months, especially since it is a highly demanding skill. I've learned a lot more about the  npm   package.json  file with better understanding, and all dependencies used by a typical React setup. Previously only had exposure to a small number of dependencies ( jest  &  eslint) , now learning about  react ,  babel ,  webpack , and more. Session 1 -  Intro to React Session 2 -  React (Class, Stateful Components, Event Handlers) Week 14 -  Single Page Applications (SPA's) is amazing!  I always thought front-end development means primarily knowing ...

Week 17 - Session 2 - User Authentication - JSON Web Tokens

Image
blog image source JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with HMAC algorithm) or a public/private key pair using RSA. JSON Web Token (JWT) Process: Encrypted string issued by the web server Stored by the client, typically in local storage Web server signs token using a SECRET KEY When the token is sent back to the server, can verify it using the secret key If the token is tampered with, verification will fail A JWT consist of three parts: Header ; consists of two parts: the type of the token, which is JWT, and the hashing algorithm. Payload ; which contains the claims which are an entity (typically, the user) and additional metadata. Signature ; takes the encoded header, the encoded payload, a secret, the algorithm specified in the h...

Week 17 - Session 1 - User Authentication - Signup/Login with password

Image
Almost any application will eventually need to store a collection of passwords or another type of data that has to be stored using a hashing algorithm. Blogs, forums, issue trackers, they all need to store user data and these passwords. Hashing is the greatest way for protecting passwords and considered to be pretty safe for ensuring the integrity of data or password. There are some weaknesses in a cryptographic hash algorithm that allows an attacker to calculate the original value of a hashed password: Brute Force attack: Hashes can’t be reversed, so instead of reversing the hash of the password, an attacker can simply keep trying different inputs until he does not find the right now that generates the same hash value. Using a modern computer one can crack a 16 Character Strong password in less than an hour, thanks to GPU. Hash Collision attack: Hash functions have infinite input length and a predefined output length, so there is inevitably going to be the possibility of two diff...