Advertisement
Narzew

IxPack Encryption algorithm

Nov 27th, 2013
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. IxPack Encryption algorithm
  2.  
  3. Algorithm copyright by Narzew.
  4. All rights reserved.
  5.  
  6. Potrzebne liby: Zlib
  7.  
  8. $klucz_archiwum = losowa liczba od 0 do 0xFFFFFF
  9. $klucz_tajny = podany przez usera, jeśli nie podał to msv739fc1
  10.  
  11. Funkcja: transformuj_klucz(x -> klucz){
  12.  
  13. r = 0
  14. c = 1
  15. y = x zaszyfrowany jednostronnie funkcją crypt z parametrem ("#{$klucz_tajny}-#{$klucz_archiwum}")
  16. co każdy bajt y (kod ascii bajtu y) {
  17. r += c*256
  18. c += 1
  19. }
  20. r = r % 0xFFFFFF
  21. zwróć r
  22. }
  23.  
  24. Funkcja: zaszyfruj_sciezke(x -> scieżka, k-> klucz){
  25.  
  26. k = transformuj_klucz(k)
  27. wygeneruj ziarno dla generatora pseudolosowości transformuj_klucz(k)
  28. s = ""
  29. co każdy bajt x (jako kod ASCII){
  30. dopisz do zmiennej s wynik ((b+losowa_liczba_z(999999)+7+k-transformuj_klucz("#{$klucz_archiwum}+#{$klucz_tajny}"))%256).chr
  31. .chr na końcu oznacza zamianę kodu ASCII na literę.
  32. k = (k*6+4)%0xFFFFFF
  33. wygeneruj ziarno dla generatora pseudolosowości k
  34. }
  35. zwróć s
  36. }
  37.  
  38. Funkcja: stworz_archiwum(x -> tablica z listą plików, y-> nazwa archiwum){
  39.  
  40. $result = ["IXP1",$klucz_archiwum,[]]
  41. co każdy plik z listy plików { x co jako nazwa elementu tablicy
  42. nazwa = szyfruj x jednostronnie crypt ("#{$klucz_archiwum}.#{$klucz_tajny}")
  43. nazwa2 = szyfruj x jednostronnie crypt ("sfn9as8fh#{$klucz_tajny},#{$klucz_archiwum}$")
  44. data = odczytaj zawartości pliku o nazwie x
  45. data = skompresuj Zlibem zawartość data
  46. data = zaszyfruj_sciezke(data,nazwa)
  47. Dopisz do tablicy result tablicę [nazwa2, data]
  48. }
  49. $result = konwertuj $result z tablicy na ciąg (zdumpuj)
  50. zapisz w pliku y zawartość $result
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement