Changed import method so that the importer loads into memory then dumps from memory to the drive to speed up importing of databases to 10,000 per second.
This commit is contained in:
parent
5358de1006
commit
441dc5e3b6
60
perl/database.sql
Normal file
60
perl/database.sql
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
SET NAMES latin1;
|
||||||
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for `email`
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `email`;
|
||||||
|
CREATE TABLE `email` (
|
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`email` varchar(255) NOT NULL,
|
||||||
|
`password` blob NOT NULL,
|
||||||
|
`leak` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `email` (`email`) USING BTREE
|
||||||
|
) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for `emailload`
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `emailload`;
|
||||||
|
CREATE TABLE `emailload` (
|
||||||
|
`email` varchar(255) NOT NULL,
|
||||||
|
`password` binary(255) NOT NULL,
|
||||||
|
`leak` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
PRIMARY KEY (`email`,`password`)
|
||||||
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for `hash`
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `hash`;
|
||||||
|
CREATE TABLE `hash` (
|
||||||
|
`hash` varchar(255) NOT NULL,
|
||||||
|
`leak` varchar(255) NOT NULL,
|
||||||
|
PRIMARY KEY (`hash`)
|
||||||
|
) ENGINE=MEMORY DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for `settings`
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `settings`;
|
||||||
|
CREATE TABLE `settings` (
|
||||||
|
`name` varchar(255) NOT NULL,
|
||||||
|
`value` blob NOT NULL,
|
||||||
|
PRIMARY KEY (`name`)
|
||||||
|
) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for `sha1`
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sha1`;
|
||||||
|
CREATE TABLE `sha1` (
|
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`hash` varchar(40) NOT NULL,
|
||||||
|
`leak` varchar(255) NOT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `hash` (`hash`) USING BTREE
|
||||||
|
) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1;
|
||||||
|
|
||||||
|
SET FOREIGN_KEY_CHECKS = 1;
|
@ -57,6 +57,7 @@ $dbConnection = DBI->connect("DBI:mysql:$dbName;host=$dbHost", $dbUser, $dbPassw
|
|||||||
|
|
||||||
open(passwords, $file);
|
open(passwords, $file);
|
||||||
my $i=0;
|
my $i=0;
|
||||||
|
my $count=0;
|
||||||
while (<passwords>) {
|
while (<passwords>) {
|
||||||
chomp;
|
chomp;
|
||||||
$i++;
|
$i++;
|
||||||
@ -70,10 +71,25 @@ while (<passwords>) {
|
|||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
$result->finish();
|
$result->finish();
|
||||||
my $result = $dbConnection->prepare("INSERT INTO `sha1` (`hash`,`leak`) VALUES (?,'Email Database')");
|
my $result = $dbConnection->prepare("INSERT INTO `hash` (`hash`,`leak`) VALUES (?,'Email Database')");
|
||||||
$result->execute($sha1);
|
$result->execute($sha1);
|
||||||
$result->finish();
|
$result->finish();
|
||||||
|
$count++;
|
||||||
|
if ($count%10000==0) {
|
||||||
|
my $result = $dbConnection->prepare("INSERT INTO `sha1` (`hash`,`leak`) SELECT `hash`,`leak` FROM `hash`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
my $result = $dbConnection->prepare("DELETE FROM `hash`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
my $result = $dbConnection->prepare("INSERT INTO `sha1` (`hash`,`leak`) SELECT `hash`,`leak` FROM `hash`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
my $result = $dbConnection->prepare("DELETE FROM `hash`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
close(passwords);
|
close(passwords);
|
||||||
|
|
||||||
$dbConnection->disconnect();
|
$dbConnection->disconnect();
|
@ -55,6 +55,7 @@ $dbConnection = DBI->connect("DBI:mysql:$dbName;host=$dbHost", $dbUser, $dbPassw
|
|||||||
|
|
||||||
open(passwords, $file);
|
open(passwords, $file);
|
||||||
my $i=0;
|
my $i=0;
|
||||||
|
my $count=0;
|
||||||
while (<passwords>) {
|
while (<passwords>) {
|
||||||
chomp;
|
chomp;
|
||||||
my $entry = $_;
|
my $entry = $_;
|
||||||
@ -66,7 +67,7 @@ while (<passwords>) {
|
|||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
print "$i Email: $email Password: $password\n";
|
print "$i Email: $email Password: $password\n";
|
||||||
my $result = $dbConnection->prepare("SELECT * FROM `emailplaintext` WHERE `email`=? AND `password`=?");
|
my $result = $dbConnection->prepare("SELECT * FROM `email` WHERE `email`=? AND `password`=?");
|
||||||
$result->execute($email, $password);
|
$result->execute($email, $password);
|
||||||
my $exists = $result->fetchrow_hashref();
|
my $exists = $result->fetchrow_hashref();
|
||||||
if ($exists!=undef) {
|
if ($exists!=undef) {
|
||||||
@ -74,11 +75,26 @@ while (<passwords>) {
|
|||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
$result->finish();
|
$result->finish();
|
||||||
my $result = $dbConnection->prepare("INSERT INTO `emailplaintext` (`email`,`password`) VALUES (?,?)");
|
my $result = $dbConnection->prepare("INSERT INTO `emailload` (`email`,`password`,`leak`) VALUES (?,?,'Leak')");
|
||||||
$result->execute($email, $password);
|
$result->execute($email, $password);
|
||||||
$result->finish();
|
$result->finish();
|
||||||
|
$count++;
|
||||||
|
if ($count%10000==0) {
|
||||||
|
my $result = $dbConnection->prepare("INSERT INTO `email` (`email`,`password`,`leak`) SELECT `email`,`password`,`leak` FROM `emailload`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
my $result = $dbConnection->prepare("DELETE FROM `emailload`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
my $result = $dbConnection->prepare("INSERT INTO `email` (`email`,`password`,`leak`) SELECT `email`,`password`,`leak` FROM `emailload`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
my $result = $dbConnection->prepare("DELETE FROM `emailload`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
close(passwords);
|
close(passwords);
|
||||||
|
|
||||||
$dbConnection->disconnect();
|
$dbConnection->disconnect();
|
@ -47,7 +47,7 @@ $dbName = "passwords";
|
|||||||
$dbUser = "root";
|
$dbUser = "root";
|
||||||
$dbPassword = "password";
|
$dbPassword = "password";
|
||||||
|
|
||||||
$file = "/Users/grmrgecko/Desktop/passwords/SHA1.txt";
|
$file = "/Users/grmrgecko/Desktop/passwords/combo_not.txt";
|
||||||
|
|
||||||
#print localtime(time).": Connecting to DataBase\n";
|
#print localtime(time).": Connecting to DataBase\n";
|
||||||
|
|
||||||
@ -55,6 +55,7 @@ $dbConnection = DBI->connect("DBI:mysql:$dbName;host=$dbHost", $dbUser, $dbPassw
|
|||||||
|
|
||||||
open(passwords, $file);
|
open(passwords, $file);
|
||||||
my $i=0;
|
my $i=0;
|
||||||
|
my $count=0;
|
||||||
while (<passwords>) {
|
while (<passwords>) {
|
||||||
chomp;
|
chomp;
|
||||||
$i++;
|
$i++;
|
||||||
@ -68,10 +69,25 @@ while (<passwords>) {
|
|||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
$result->finish();
|
$result->finish();
|
||||||
my $result = $dbConnection->prepare("INSERT INTO `sha1` (`hash`,`leak`) VALUES (?,'LinkedIn')");
|
my $result = $dbConnection->prepare("INSERT INTO `hash` (`hash`,`leak`) VALUES (?,'LinkedIn 6/6/12')");
|
||||||
$result->execute($sha1);
|
$result->execute($sha1);
|
||||||
$result->finish();
|
$result->finish();
|
||||||
|
$count++;
|
||||||
|
if ($count%10000==0) {
|
||||||
|
my $result = $dbConnection->prepare("INSERT INTO `sha1` (`hash`,`leak`) SELECT `hash`,`leak` FROM `hash`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
my $result = $dbConnection->prepare("DELETE FROM `hash`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
my $result = $dbConnection->prepare("INSERT INTO `sha1` (`hash`,`leak`) SELECT `hash`,`leak` FROM `hash`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
|
my $result = $dbConnection->prepare("DELETE FROM `hash`");
|
||||||
|
$result->execute();
|
||||||
|
$result->finish();
|
||||||
close(passwords);
|
close(passwords);
|
||||||
|
|
||||||
$dbConnection->disconnect();
|
$dbConnection->disconnect();
|
Loading…
Reference in New Issue
Block a user