Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zaszyfrowane danych indywidualnym kluczem
Cliassi
post 25.08.2012, 15:19:30
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


Witam, czy jest możliwośc aby tak zaszyfrować dane usera aby tylko on jeden miał do nich dostęp(klucz) oraz admin ? myślałem nad hasłem ale z kolei jesli ktos sie dowie ze to klucz to wtedy po włamaniu do bazy zna klucz. Daloby rade aby kluczem było by hasło przed shashowaniem ? tylko wtedy jak admin by się dostał do danych ?

Ten post edytował Cliassi 25.08.2012, 15:21:50
Go to the top of the page
+Quote Post
cv65
post 25.08.2012, 18:01:45
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 12.04.2009

Ostrzeżenie: (20%)
X----


mcrypt_encrypt
Go to the top of the page
+Quote Post
Cliassi
post 25.08.2012, 18:14:15
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


znam tą funkcję jednak nie wiem jak stworzyć do niej klucz. Nie chce jednego klucza dla wszystkich danych. Każdy user ma swój klucz do rozszyfrowania no i admin tez musi miec. Pomysl z hasłem nie byłby zły gdyby był w formie jawnej a potem hashowany do klucza ale nie moge trzymać jawnego hasła w bazie
Go to the top of the page
+Quote Post
lukaskolista
post 26.08.2012, 08:54:06
Post #4





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Po co kombinujesz? sha256 + salt do hashowania hasel wystarczy, robisz powazny blad dajac mozliwosc relatywnie latwego odkodowania hasla poprzez algorytm symetryczny.
Go to the top of the page
+Quote Post
Cliassi
post 26.08.2012, 12:41:16
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


nie chodzi mi o hashowanie haseł tylko o wygenerowanie indywidualnego klucza dla odszyfrowania danych usera i kombinuje jak je stowrzyć. hasło szyfruje sha1
Go to the top of the page
+Quote Post
cv65
post 26.08.2012, 14:23:09
Post #6





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 12.04.2009

Ostrzeżenie: (20%)
X----


  1. function encryptData($value, $key){
  2.  
  3. $text = $value;
  4. $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
  5. $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  6. $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
  7. return $crypttext;
  8. }
  9.  
  10. function decryptData($value, $key){
  11.  
  12. $crypttext = $value;
  13. $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
  14. $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  15. $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv);
  16. return trim($decrypttext);
  17. }


I daj jako $key swój klucz
Go to the top of the page
+Quote Post
Cliassi
post 26.08.2012, 19:12:18
Post #7





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


Ale chodzi mi o sam KLUCZ! Na jakiej zasadzie go generować aby każdy user miał swój indywidualny $key a admin dostep do wszystkich danych
Go to the top of the page
+Quote Post
Crozin
post 26.08.2012, 19:24:34
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Szczerzę wątpię by dało się tutaj cokolwiek zdziałać. Mógłbyś nam nakreślić jaki jest cel tego? Być może da się to rozwiązać w inny sposób.

Ten post edytował Crozin 26.08.2012, 19:24:46
Go to the top of the page
+Quote Post
cv65
post 26.08.2012, 19:30:54
Post #9





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 12.04.2009

Ostrzeżenie: (20%)
X----


O ile dobrze myśle to te klucze będziesz przechowywał w tabeli.
Utwórz funkcje która wylosuje sobie jakieś liczby do tego dodaj jeszcze uniqid(), zaszyfruj to jakaś metodą.
I sprawdzaj czy istnieje taki klucz w bazie jeżeli istnieje to losuj funkcją kolejny ciąg
Go to the top of the page
+Quote Post
Cliassi
post 26.08.2012, 19:33:29
Post #10





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


no wlasnie klucza nie chce trzymac w bazie. Klucz chce aby byl generowany z hasha Id usera ale pytanie jest czy nie da się czegoś bardziej tak samo indywidualnego a nie oczywistego wymyslic? bo to ze kluczem są ID to jest łatwo wpaść
Go to the top of the page
+Quote Post
Crozin
post 26.08.2012, 19:46:34
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Możesz sobie darować szyfrowanie danych w momencie gdy klucz ma być zbudowany w oparciu o "jawne" dane. Nadal nie odpowiedziałeś na moje pytanie.
Go to the top of the page
+Quote Post
irmidjusz
post 26.08.2012, 19:50:11
Post #12





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Jeśli dane będą zaszyfrowane hasłem użytkownika, to admin się do nich nie dostanie (skoro nie chcesz trzymać hasła w bazie czy gdziekolwiek indziej).

Rozwiązaniem jest... duplikowanie danych i szyfrowanie jednej kopii hasłem użytkownika, a drugiej hasłem administratora.

Karkołomne, no nie? Ale możliwe. Na tej samej zasadzie funkcjonuje np. pełne szyfrowanie wiadomości pocztowej dwukrotnie (w dwóch kopiach): zarówno kluczem publicznym odbiorcy jak i kluczem publicznym nadawcy, wówczas tylko te dwie osoby mogą odczytać treść wiadomości.


--------------------
there is much to be learned
Go to the top of the page
+Quote Post
Cliassi
post 28.08.2012, 21:41:36
Post #13





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


Dzięki za pomoc!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:30