Ahoj, mam vytvorenu tabulku v MySQL:
CREATE TABLE `virtual_users` (
`id` int(11) NOT NULL auto_increment,
`domain_id` int(11) NOT NULL,
`password` varchar(106) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Do tabulky vkladam uzivatelov s heslom.
INSERT INTO `mailserver`.`virtual_users`
(`id`, `domain_id`, `password` , `email`)
VALUES
('1', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email1@example.com'),
('2', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email2@example.com');
Moja otazka je, aky by bol rozdiel, keby to vkladam sposobom
('1', '1', MD5('password'), 'email1@example.com')
Aky je v tom rozdiel?
Popripade ak by mi mohol niekto povedat, co znamena/robi ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16)))
Předně se vyser na postfix a raději si nainstaluj exim4.
Citace od: postmaster kdy 23. 02. 2018, 13:10:56
Předně se vyser na postfix a raději si nainstaluj exim4.
A můžeš nám ostatním, co to nechápeme, napsat proč?
Já třeba Postfix používám a jsem spokojený. Nicméně, třeba změním názor.
K dotazu:
Nechápu, proč se trápíš s příkazy a raději nepoužiješ PostfixAdmin, kde je vše za tebe vyřešeno.
Citace
K dotazu:
Nechápu, proč se trápíš s příkazy a raději nepoužiješ PostfixAdmin, kde je vše za tebe vyřešeno.
Pretože by som sa rad niečo priučil nez to vyklikal cez klikatko...
Citace od: SQL kdy 23. 02. 2018, 11:09:46
Do tabulky vkladam uzivatelov s heslom.
INSERT INTO `mailserver`.`virtual_users`
(`id`, `domain_id`, `password` , `email`)
VALUES
('1', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email1@example.com'),
('2', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email2@example.com');
Moja otazka je, aky by bol rozdiel, keby to vkladam sposobom
('1', '1', MD5('password'), 'email1@example.com')
Aky je v tom rozdiel?
V prvním případě se do databáze ukládá osolený SHA-512 hash, ve formátu funkce crypt(3) (http://man7.org/linux/man-pages/man3/crypt.3.html). V druhém případě se heslo pouze hashuje MD5 bez soli, což je velmi špatný nápad. Taky to nejspíš nebude fungovat, pokud Postfix očekává záznam ve formátu crypt.
Citace od: SQL kdy 23. 02. 2018, 11:09:46
Popripade ak by mi mohol niekto povedat, co znamena/robi ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16)))
- RAND() - vygeneruje náhodné číslo (http://"https://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html#function_rand")
- SHA(RAND()) - Spočítá SHA-1 náhodného čísla (https://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_sha1)
- SUBSTRING(SHA(RAND()), -16) - Odřízne z výsledku posledních 16 číslic (https://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_substring)
- CONCAT('$6$', ...) - Připojí na začátek řetězec $6$ (https://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_concat)
- ENCRYPT('password', ...) - Zavolá knihovní funkci crypt(3) (https://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_encrypt)