Skip to content

Through a python script, a database will be created and uploaded with random fake identifications, generated automatically

License

Notifications You must be signed in to change notification settings

NicolasFlandrois/Populating-Database-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Name-Database-Generator

Through a python script, a database will be created and uploaded with random fake identifications, generated automatically


Auto-generate a (FAKE POPULATION) DB of :

  • names (Family & First)
  • Social Security Number (French) > Unique
  • Female/Male
  • Date of Birth (Full dd/mm/yyyy)
  • Area/City of Birth (minima in France, and/or if possible whole world)
  • email
  • Postal Address in France (Random) - If possible to generate
  • Phone Number (Cellphone/Landline)
  • Car Registration Number (French)
  • Car description
  • Password Management with Hash

Tools :

  • Python 3.7 (Or Upper) - MVC Structure approach
  • MySQL
  • SQLAlchemy
  • Pandas
  • Flask ? - For Reading and interface with the database after creating it.
  • Django ? - For Reading and interface with the database after creating it.
  • Hash python module ? bcrypt? SHA256? | Using a Salt and pepper to the Hash? >> pip install bcrypt | bcrypt 3.1.7
  • Crypto python module for cryptographic related random generation ?

Constructions Steps:

  • Ask input at beginning, How many people shall we generate, to populate our FICTIONAL database.
  • Generate a RANDOMISED French Social Security Number.
  • From Social Security Number, determine if Male/Female.
  • From M/F SecSoc > Pick Random First Name (Corresponding M/F).
  • From SecSoc, Extract Birth Date : Year & Month ; Randomly pick a Day in the month >> Store it as Datetime.date Object.
  • From Sec Soc, Extract Region of Birth (Department number).
  • From Soc Sec, Extract and compare: City of birth registration etc (up to remainder of last 3 totally random numbers.
  • From SocSec, compute the security/validation Key > Extra 2 digits.
  • With a REGEX, generate a random-ish email: FirstName[.-_""+]FamNamae@[gmail, yahoo, bogus].[com, org, fr, co.uk, de, net, tv, etc].
  • With few rules (a regex?) generate a random-ish Phone number (Cellphone Only? Or Fixe and/or cellphone? If Fixe Landline, what about Area code?).
  • Export all data into a MySQL DB (Multiple crossreferenced tables possible).
  • Small interface, to read and parse data from MySQL database. Read and Update data.

Questions:

  • ATTENTION: For Social Sec Number, Telephone, & Car Reg Num >>> If already exist = No Repeating data == Need to be Unique.
  • Can we generate a random-ish postal address (dependent from fix phone number area code) ? how to make it Work? Open source map? GPS coordinates?
  • Does this script generate France metropolitan Social Security Numbers ONLY? What About Corsica 2A & 2B? What About Overseas Departments (97 and 98)? What About Foreigners (99, and their corresponding country of birth, in next digits)?
  • What Display for Reading data? > HTML, CSS, JS ??? W/ Django OR Flask?
  • Through a Login for this interface (Username & Password management) administrating different user rights management: Data Admin = Read & Update & Create New, Simple User = Read Only.
  • Can I create a random Car registration number and car database? > Randomly create a Car Registration Number, Randomly assign it to a Car type, and then Randomly assign it to a Fact-person in Database. (Multiple cross ref data tables).
  • Can we create a Random Password Generator > to store as SHA/HASH in a DB Table for each populated DB fake-person ?
  • All extra small script, HOW? WHEN? Do they update the database? ALL in 1? Or 1 after the Other, Parsing the DB and updating afterward?
  • For Testing purposed, Export a csv file with a Unique Identifier (e.g. SocSecNum), the Plain Text Password, and The Hash fingerprint. Obviously in a real-world dev/production such export wouldn't exist.
  • How to Store the Hash & Salt in the MySQL Database? Should they be Join into a single String, OR stored separately in 2 different Tables?

About

Through a python script, a database will be created and uploaded with random fake identifications, generated automatically

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages