Web Development CS JS Python JavaScript Hacking ReactJs Python django Flask CSS Frontend Backend Full Stack Java Node Pdf Books
3.99K subscribers
878 photos
11 videos
995 files
354 links
One place for the latest in JavaScript, Python, Django, React, and more. Get top-notch tutorials, tips, and downloadable resources. Join us to elevate your tech skills!
Download Telegram
IPv4, or Internet Protocol version 4, is characterized by its use of four numerical segments separated by dots.
Each of these segments can range from 0 to 255 in decimal notation.
However, computers process information in binary, using only 0s and 1s.
Consequently, the decimal range of 0 to 255 translates to the binary range of 00000000 to 11111111.

To accommodate this binary representation, each number (N) within an IPv4 address is expressed as a series of 8 binary digits.
Consequently, the entire IPv4 address is composed of 32 bits of binary digits.
In IPv4, a distinct sequence of these bits is assigned to each computer, allowing for a total of approximately 4,294,967,296 unique addresses (2^32).

The rapid growth of the internet and connected devices has led to IPv4 address exhaustion, as the number of available IPv4 addresses is limited.

IPv4 addresses are written as four sets of numbers separated by periods, like this: (e.g., 192.168.0.1).

With approximately 4.3 billion IPv4 addresses in existence, attempting to manage this vast pool without any systematic organization is an impractical endeavor.
To illustrate this, consider the analogy of searching for a word in a language dictionary.
When the words are arranged in alphabetical order, you can efficiently locate a specific word in less than 5 minutes. Contrastingly, if the dictionary lacked any form of sequence or order, the task of finding the word would be seemingly eternal.

The challenges associated with handling 4.3 billion addresses become evident in the absence of a structured scheme.
To streamline the management and allocation of IP addresses, a numeric order is imposed.
These addresses are further categorized into five classes, offering a systematic framework for more efficient organization and assignment.

The IP address 0.0.0.0 is categorized as a non-routable address, indicating an invalid or inapplicable end-user address.

A loopback address constitutes a reserved range within the IP address space, commencing at 127.0.0.0 and concluding at 127.255.255.255.
Notably, 127.255.255.255 serves as the broadcast address for the 127.0.0.0/8 network.
These loopback addresses are an inherent part of the IP domain system, facilitating devices in the transmission and reception of data packets.
Specifically, the loopback address 127.0.0.1 is commonly recognized as "localhost."
👍1
IPv6:

IPv6, or Internet Protocol version 6, serves as the successor to IPv4 and introduces a different format for representing IP addresses.
In contrast to IPv4's use of four numerical segments separated by dots, IPv6 employs a hexadecimal notation with eight groups of four characters separated by colons.

While IPv4 relies on a 32-bit address space, IPv6 adopts a larger 128-bit address space.
This expanded capacity addresses the limitations posed by the finite number of IPv4 addresses, providing an almost limitless pool of unique identifiers for devices connected to the internet.
Consequently, IPv6 addresses are significantly longer and can be expressed as sequences like "2001:0db8:85a3:0000:0000:8a2e:0370:7334."

In terms of binary representation, each character in the hexadecimal notation of an IPv6 address corresponds to 4 bits.
This results in a total of 128 bits for the entire IPv6 address, emphasizing its vast address space compared to IPv4.
The adoption of IPv6 is driven by the need for more available addresses to accommodate the growing number of devices connected to the internet.

- IP addresses can be categorized into different types:

1. Public IP Address:
Dynamic IP Address: Changes each time you connect to the internet.
Static IP Address: Permanent and provides location details.

2. Private IP Address:
Internal address not routed to the internet;
no data exchange with the internet.

3. Shared IP Addresses:
Used by multiple websites to reduce costs, often by smaller sites with controllable traffic.

4. Dedicated IP Addresses:
Used by a single entity for specific benefits.
Offers a private SSL certificate.
Allows access via IP address instead of domain name.
Enhances website performance during high traffic.
Provides protection from blacklisting associated with shared IP addresses.
🔥1
Imagine you have a website account, and when you create a password, the website stores it just like that in its database. If someone gets access to this database, they can see everyone's passwords. Oopsie!

So instead of storing your password as it is, the website uses a special function called a hash function. It's like a magical blender for your password.
When you create or change your password, the website takes it, blends it with this hash function, and gets a jumbled-up result. This result is your hashed password.

Here's the cool part: once your password is hashed, it's almost impossible to go back it and figure out your original password. It's a one-way street: you can't go back.
[ Even if a hacker gains access to the hashed passwords, it is extremely difficult and time consuming for them to reverse the process and obtain the original passwords. ]
The website then stores not your actual password, but this jumbled up mix (hashed password).
👍5
Salting:
- To enhance security, a unique and random value called a "salt" is added to each password before hashing.
- The salt ensures that even if two users have the same password, their hashed values will be different because of the unique salt.

Procedure:
- When a user creates an account or changes their password, the system generates a random salt for that user.
- The system combines the user's password with the salt and then applies the hash function to produce the hashed password.
- The hashed password and the salt are then stored in the database.

Now you may wonder, how is our password verified?

- When a user attempts to log in, the system retrieves the salt associated with the user from the database.
- The system combines the entered password with the retrieved salt and then applies the same hash function.
- It compares the computed hash with the stored hash, if they match, the entered password is correct.
This security practices may vary, not all websites implement the same measures.

some systems use "pepper", which is a secret value not stored in the database in the same database. The pepper is applied before hashing and provides an extra layer of security.

@javascript_resources
#cybersecurity
Master React.

Learn these hooks:

📌 useState()
⏲️ useEffect()
🌐 useContext()
🔄 useReducer()
🏃‍♂️ useCallback()
🧠 useMemo()
📚 useRef()
🎨 useLayoutEffect()
Understand possible values for CSS transform property with this cheat sheet 🚀
👍1