Posts
10 Posts
This blog post explores how to check the available hashing algorithms in Python using the hashlib library. It explains how to view both the platform-specific algorithms and the guaranteed ones that are available across all Python environments, helping you choose the right one for your cryptographic needs.
Dharambir
12 January 2025
In this blog post, we explore how to hash files in Python using the hashlib library. We cover basic file hashing for smaller files as well as more efficient methods using buffered reading for larger files, ensuring data integrity and verifying file contents.
Dharambir
12 January 2025
This blog post demonstrates how to use RSA to generate and verify message signatures in Python using the PyCrypto library. It covers the process of signing messages with a private key and verifying them with a public key, a technique commonly used in email security and digital authentication.
Dharambir
12 January 2025
This blog post introduces asymmetric RSA encryption in Python using the PyCrypto library. It explains how to encrypt messages with a recipient’s public key and decrypt them using the corresponding private key. The post also highlights the use of the PKCS#1 OAEP encryption scheme for secure communication.
Dharambir
12 January 2025
This blog post explores symmetric encryption in Python using the PyCrypto library. It demonstrates how to securely encrypt and decrypt messages with the AES algorithm, utilizing a passphrase, random salt, and the PBKDF2 key derivation function to generate the encryption key and initialization vector.
Dharambir
12 January 2025
This blog post demonstrates how to securely connect to remote hosts in Python using the Paramiko library. It covers essential parameters like hostname, username, port, and password, as well as how to execute commands via SSH and handle the connection’s status.
Dharambir
12 January 2025
In Python, modifying a sequence like a list while iterating can lead to unexpected results, such as skipping elements or creating infinite loops. This post explains common pitfalls, such as when to use a backward iteration or a new list, and introduces best practices to safely modify sequences during iteration.
Dharambir
12 January 2025
In Python, dictionaries are unordered by default, unlike C++'s std::map. This post explains how Python dictionaries work, introduces OrderedDict from the collections module to preserve insertion order, and highlights changes in Python 3.6 that ensure insertion order is maintained in dictionaries.
Dharambir
12 January 2025
This blog post explains the concept of variable leaking in Python, particularly in list comprehensions and for loops. In Python 2.x, the loop control variable "leaks" into the surrounding scope, which can lead to unexpected behavior. We’ll compare this with how Python 3.x handles variable scoping and provide tips to avoid common pitfalls.
Dharambir
12 January 2025
In this guide, we explore how to count occurrences in an iterable that meet specific conditions using Python's comprehension syntax. Learn how to apply conditions and use generator expressions for efficient counting.
Dharambir
10 January 2025