Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kriptovanje baze preko java koda

[es] :: Java :: Kriptovanje baze preko java koda

[ Pregleda: 1960 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sedeblyzer
Student

Član broj: 214719
Poruke: 14
*.teol.net.



+1 Profil

icon Kriptovanje baze preko java koda29.05.2011. u 14:14 - pre 156 meseci
Trenutno sam u izradi neke aplikacije koja mi treba za ispit, i jedan dio nje treba da se bavi kriptografijom. Nikad prije se nisam sretao sa tim, svaka pomoc bi mi dobro dosla. Naime potrebno je da podatke koji se nalaze u bazi prikazem u kriptovanoj formi, ali da je u pitanju povratni algoritam, kako bi kasnije mogao te podatke da desifrujem i ponovo po potrebi prikazem u originlanoj formi. Koristim javu, pokusao sam da nadjem ovdje nesto vezano za to ali nisam naisao na nesto konkretno, nasao sam MD5 funkciju ali ona je jednosmjerna ako sam dobro shvatio. Isto tako postoji i jedna tabela u kojoj bi mogao da koristim ovaj pristup preko MD5 funkcije ali ne mogu da nadjem nacin da je implemntiram za vise od jedne kolone, na forumu vezanom za SQL sam nasao njenu implementaciju za tabelu koja ima samo PK i jos jednu kolonu, zanima me moze li se ona implementriati za n broj kolona u jednoj tabeli ili je za to potrebna neka druga funkcija?
Hvala svima.
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Kriptovanje baze preko java koda29.05.2011. u 16:41 - pre 156 meseci
Kriptografija je sama po sebi dosta obimna oblast i nije uopšte laka za razumevanje. Međutim neke osnovne stvari možeš da pohvataš iz tutorijala.
Uglavnom kriptografija se bavi problemima kao što su: privatnost (što znači da niko ne može da vidi tvoju poruku), integritet podataka (znači da ako naručimo 1 laptop preko interneta da ne prepravi neko podatke pa da ispadne da smo naručili 5 laptopa), autentifikacija (da možemo da potvrdimo svoj identitet).
E sad ima tu dosta algoritama koji imaju različite uloge. Na primer ovaj md5 služi da se uverimo da se poruka nije promenila. Na primer imaš neki fajl koji treba da skineš sa servera i onda se tu odradi md5 od tog fajla. Dobija se tekst sa 32 karaktera i kad skidaš recimo neki film ti skineš i md5 od tog filma. Onda kad skineš film uradiš ponovo md5 i uporediš sa md5 fajlom koji si skinuo sa servera. Ako se slažu nije došlo do oštećenja fajla u suprotnom jeste. Popularan je još algoritam SHA (ima više verzija). Poznati simetrični algoritmi su RSA i DSA.

Uglavnom za sve ovo imaš podršku u Javi pa kreni.

Na primer imaš na sajtu orakla, pa pogledaj:
http://download.oracle.com/jav...guide/security/CryptoSpec.html
 
Odgovor na temu

sedeblyzer
Student

Član broj: 214719
Poruke: 14
*.teol.net.



+1 Profil

icon Kriptovanje baze preko java koda29.05.2011. u 17:19 - pre 156 meseci
Jednu stvar sam zaboravio da pomenem, to je da koristim MSSQL bazu.
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Kriptovanje baze preko java koda29.05.2011. u 18:09 - pre 156 meseci
Mislim da nisi dobro definisao zadatak. Moraš malo konkretnije.

Iz postavke zadatka se jasno vidi da ti treba asimetrični algoritam, kao što sam napomenuo to su DSA i RSA. Pogledaj u onom linku koji sam ti poslao. Kreni pa reci gde si zapeo, gde je problem..
 
Odgovor na temu

sedeblyzer
Student

Član broj: 214719
Poruke: 14
*.teol.net.



+1 Profil

icon Re: Kriptovanje baze preko java koda31.05.2011. u 09:09 - pre 156 meseci
Ovo je kod algoritma koji sam naso na netu, i on radi, medjutim ako kao parametar proslijedim text iz text boxa, onda se ne obavi kriptovanje, ne mogu da skontam u cemu je fora, ispod ovoga koda je i kod kako prosledjujem parametre, ako neko vidi nesto sto ja ne vidim, bio mi bu zahvalan.
Code:


package kriptovanje;

import java.security.spec.AlgorithmParameterSpec;
import java.security.spec.KeySpec;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class DESAlg 
{
  Cipher ecipher;

  Cipher dcipher;

  byte[] salt = { (byte) 0xA9, (byte) 0x9B, (byte) 0xC8, (byte) 0x32, (byte) 0x56, (byte) 0x35,
      (byte) 0xE3, (byte) 0x03 };

  public DESAlg(String passPhrase)
  {
      try
      {
          int iterationCount = 2;
          KeySpec keySpec = new PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount);
          SecretKey key = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(keySpec);
          ecipher = Cipher.getInstance(key.getAlgorithm());
          dcipher = Cipher.getInstance(key.getAlgorithm());

          AlgorithmParameterSpec paramSpec = new PBEParameterSpec(salt, iterationCount);

          ecipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);
          dcipher.init(Cipher.DECRYPT_MODE, key, paramSpec);
      }
      catch(Exception e)
      {
          e.printStackTrace();
      }
  }

  public String encrypt(String str) 
  {
      try
      {
          new BASE64Encoder().encode(ecipher.doFinal(str.getBytes()));
      }
      catch(Exception e)
      {
          e.printStackTrace();
      }
      return str;
  }

  public String decrypt(String str) 
  {
      try
      {
          new String(dcipher.doFinal(new BASE64Decoder().decodeBuffer(str)));
      }
      catch(Exception e)
      {
          e.printStackTrace();
      }
    return str;
  }
}


Code:

String s1 = encrypter.encrypt("'" + imeTextField.getText() + "'");
 
Odgovor na temu

bantu

Član broj: 38670
Poruke: 305
89.111.240.*



+27 Profil

icon Re: Kriptovanje baze preko java koda31.05.2011. u 10:09 - pre 156 meseci
Vidim ja.

Čemu ti služi ovo "'" ne kriptuješ valjda i apostrofe?
 
Odgovor na temu

sanchi
Sanja Jokic
Beograd

Član broj: 148256
Poruke: 104
*.pstech.rs.



+8 Profil

icon Re: Kriptovanje baze preko java koda31.05.2011. u 10:29 - pre 156 meseci
Ako se ne varam, ni u encrypt ni u decrypt ti se ne menja input str, moras rezultat prebaciti u drugu varijablu.
Probaj sa ovim:
Code:

   public String encrypt(String str) {
        String res = null;
        try {
            res = new BASE64Encoder().encode(ecipher.doFinal(str.getBytes()));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return res;
    }

    public String decrypt(String str) {
        String res = null;
        try {
            res = new String(dcipher.doFinal(new BASE64Decoder().decodeBuffer(str)));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return res;
    }

If people were meant to pop out of beds we would all sleep in toasters.
Google is your friend http://justfuckinggoogleit.com/
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Kriptovanje baze preko java koda31.05.2011. u 13:32 - pre 156 meseci
pogledaj ovo: http://commons.apache.org/codec/api-release/index.html
 
Odgovor na temu

sedeblyzer
Student

Član broj: 214719
Poruke: 14
*.teol.net.



+1 Profil

icon Re: Kriptovanje baze preko java koda31.05.2011. u 14:09 - pre 156 meseci
@sanchi
Bila si upravu, sad radi sve sto treba.

@bantu
I ti si bio upravu:)

Sad za sad sam rjesio problem, mogu dalje, hvala svima.
 
Odgovor na temu

[es] :: Java :: Kriptovanje baze preko java koda

[ Pregleda: 1960 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.