Programming Tutorials
10 Posts
Discover Available Hashing Algorithms in Python with hashlib
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
How to Hash Files in Python Using hashlib: A Step-by-Step Guide
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
Symmetric Encryption in Python with PyCrypto: AES Encryption Example
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
How to Establish Secure Shell Connections in Python with Paramiko
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
Handling Sequence Modifications During Iteration in Python: Best Practices
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
Why Python Dictionaries Are Unordered (and How to Keep Insertion Order)
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
Understanding Variable Leaking in List Comprehensions and For Loops in Python
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
Counting Occurrences in Python Using Comprehension: A Simple Guide
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
Accessing Keys and Values in Python Dictionaries: Methods and Best Practices
Learn how to access keys, values, and key-value pairs in Python dictionaries using methods like keys(), values(), and items(). This guide also covers sorting and handling order in dictionaries.
Dharambir
10 January 2025
Optimizing None Checks and Assignments in Python: A Comprehensive Guide
In this guide, we explore the most efficient and Pythonic methods to check for None in Python and assign values to variables. Learn about the is None check, using not, and the elegant or operator approach for cleaner, more efficient code.
Dharambir
10 January 2025