Skip to content

AndrewKhassapov/character-soup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Character Soup

Generates sequential brute-forced text.

A soup of characters. 🍅🌽🍲🍰

Supporting different languages:

  • JavaScript
  • TypeScript
  • Python
  • C#
  • Java
  • C++

🕐 Benchmarking in development.

How does it work?

// Set the maximum text length:
const MAX_LENGTH = 4;

// Set the characters to be used:
const CHARACTERS = "0123456789";

// Create an array of all combinations,
// Total of c^(n!), c = |CHARACTERS|, n = |MAX_LENGTH|
// For example: ["0", "1", "2", ... , "9997", "9998", "9999"];

What is character soup for?

Originally, this was one of the earlies pieces of software I wrote, in Visual Basic. To illustrate how quickly it is to run through all 4-digit PIN codes. :no_entry_sign: :lock: :key: :unlock: :heavy_check_mark:

Now, password systems are properly protected with reCAPTCHA, multi-factor authentication, password-entry limits and more. It is still interesting to show how quickly a password can be brute-forced.

Hive Systems have a great cybersecurity infographic for this system.

In 2022:
Brute force time in 2022. Credit to Hive Systems
In 2023:
Brute force time in 2023. Credit to Hive Systems
In 2023 using dedicated AI hardware:
Brute force time in 2023, with ChatGPT. Credit to Hive Systems

Remember to celebrate World Password Day on the first Thursday of May. 📆

Keep your accounts safe. Ensure that:

  • 🔒 Your passwords are unique across all services.
  • 🔒 Your passwords aren't all "password".
  • 🔒 You are using multi-factor authentication where possible.
  • 🔐 Avoid publishing API credentials, especially keys, to public repositories.
correcthorsebatterystaple

correcthorsebatterystaple. Credit to XKCD

There is an XKCD for everything.