uczelnia
Java Szyfrowanie DES/ECB/NoPadding
package list1; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.KeyGenerator; import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; public class CW1 { public static byte[] getKey(int bytes) throws NoSuchAlgorithmException{ KeyGenerator kGen = KeyGenerator.getInstance("DES"); byte[] key = new byte[bytes]; int i = 0; while(i < bytes){ kGen.init(56); SecretKey sKey = kGen.generateKey(); byte[] rawKey = sKey.getEncoded(); for(int j = 0; (j < rawKey.length)&(j+i < key.length) ; j++){ key[j+i] = rawKey[j]; } i = i + 7; } return key; } public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { /* * długość wiadomość musi być podzielna przez 8 * żeby można było użyć NoPadding */ byte[] input = "WiadomoscDoZakodowania!!".getBytes(); byte[] encrypted = null; byte[] decrypted = null; KeyGenerator kGen = KeyGenerator.getInstance("DES"); SecretKey sKey = kGen.generateKey(); byte[] keyBytes = sKey.getEncoded(); Cipher cipher = Cipher.getInstance("DES/ECB/NoPadding"); cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(keyBytes, "DES")); encrypted = cipher.doFinal(input); cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(keyBytes, "DES")); decrypted = cipher.doFinal(encrypted); print(input); print(encrypted); print(decrypted); System.out.println(Arrays.equals(input, decrypted)); } public static void print(byte[] b) { System.out.println(new String(b)); System.out.println("Length: " + b.length * 8); System.out.println("---------------"); } }
Java szyfrowanie AES/ECB/PKCS5Padding
package list1; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.KeyGenerator; import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; public class CW2 { public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { byte[] input = "Wiadomosc do zakodowania!".getBytes(); KeyGenerator kGen = KeyGenerator.getInstance("AES"); kGen.init(128); SecretKey sKey = kGen.generateKey(); byte[] rawKey = sKey.getEncoded(); SecretKeySpec sKeySpec = new SecretKeySpec(rawKey, "AES"); // algorytm AES, tryb ECB, dopełnianie w PCKS#5 Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, sKeySpec); byte[] encrypted = cipher.doFinal(input); cipher.init(Cipher.DECRYPT_MODE, sKeySpec); byte[] decrypted = cipher.doFinal(encrypted); print(input); print(encrypted); print(decrypted); // System.out.println(MessageDigest.isEqual(input, decrypted)); System.out.println(Arrays.equals(input, decrypted)); } public static void print(byte[] b){ System.out.println(new String(b)); System.out.println("Length: " + b.length * 8); System.out.println("---------------"); } }
Java Szyfrowanie DES/ECB/SKCS5Padding
package main; import java.security.NoSuchAlgorithmException; import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.SecretKeySpec; public class Main { public static void main(String args[]) { try { byte[] teskJawny = "Teskt jawny".getBytes(); byte[] klucz = "klucz".getBytes(); System.out.println(XORCoderToString(XORcoder(teskJawny, klucz), klucz)); byte[] keyBytes = null; SecretKeySpec key = new SecretKeySpec(keyBytes,"DES"); Cipher szyfr = Cipher.getInstance("DES/ECB/SKCS5Padding"); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchPaddingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * Metoda wykonuje operacje XOR na podanych tablicach i zwraca wynik w nowej tablicy * @param msg tablica wiadomosci * @param key tablica klucza * @return tablica po operacji XOR */ public static byte[] XORcoder(byte[] msg, byte[] key) { byte[] ret = new byte[msg.length]; for(int i=0; i<msg.length; i++) ret[i] = (byte) (msg[i]^key[i%key.length]); return ret; } /** * Metoda wykonuje operacje XOR i zwraca wynik w postaci tekstu * @param msg testk do operacji XOR * @param key klucza do operacji XOR * @return teskt otrzymany po operacji XOR */ public static String XORCoderToString(byte[] msg, byte[] key) { StringBuilder sb= new StringBuilder(); byte[] tmp = XORcoder(msg, key); for (byte b : tmp) { sb.append((char)b); } return sb.toString(); } }
Zmiany, plany, status
Przepraszam za taką przerwę w postach drodzy czytelnicy. Dużo się działo, wiele się zmieniło w moim życiu.
Pierwszą rzeczą jest to, że w końcu odnalazłem szczęście u boku wspaniałej kobiety, która jak to mówił Ten Typ Mes:
„…dodaje pierwiastek kobiecości do rozmów, nie tylko do ciastek…”
Budzenie się rano z myślą o kimś, który potrafi tak naładować mnie pozytywną energią sprawia, że staje się lepszym człowiekiem.
Kolejną zmianą w moim życiu jest zakończenie etapu freelancera. W poniedziałek rozpoczynam pracę, na etacie. Niestety nie mogę zdradzić gdzie, ponieważ obowiązuje mnie klauzula poufności. Teraz kończę wszystkie projkety, których się podjąłem w ostatnim miesiącu, bo obowiązuje mnie klauzula o zakazie konkurencji.
Przejdźmy zatem do planów. Długie lata temat pracy magisterskiej wydawał mi się sprawą tak abstrakcyjną, że nigdy nie brałem tego pod uwagę. Staneliśmy przed problemem wyboru tematu (Ja i Maciek, z którym to będziemy pisali pracę). Po burzy mózgów doszliśmy do następujących wniosków:
Technologie:
- PHP – phpAMF remoting funkcji z php
- FlashVideo – odtwarzanie vido
- FLEX – Podstawa aplikacji GUI + Upload Plików
- MySQL – przechowywanie testów jak i ich wyników
Opis aplikacji:
- Tworzenie Testu
- Upload pliku z wykładem (vido)
- Konwersja server-side avi, mpg, wmv do flv
- Ustawianie czasu wyzwalaczy, które będą uruchamiały pytania podczas oglądania materiału
- Dodawanie pytań, ustawianie poprawnych odpowiedzi (test jednokrotnego/wielokrotnego wyboru)
- Testowy Test, zapisanie drzewa XML do bazy danych
- Przeprowadzanie Testu
- Materiał Video jest odtwarzany
- Odtwarzacz dochodzi do wyzwalacza gdzie znajduje się pytanie
- Kontrolki Playera są blokowane
- Można jedynie odpowiedzieć na pytanie
- Odpowiedź na pytanie jest zapisywane do bazy danych
- Odblokowanie kontrolek playera i wznowienie playbacku
- Po zakończeniu odtwarzania filmu wyświetla się podsumowanie z wynikiem testu, oraz propozycjami fragmentów, które wypadało by powtórzyć
- Statystyki grupy studentów
- Informacje dla wykładowcy o najsłabiej opanowanym materiale przez grupę itp.
Po dalszych ustaleniach z promotorem, rozszerzyliśmy zakres funkcjonalności o plugin do systemu e-learningowego OpenSurce o nazwie OLAT, który jest rozwijany na uniwersytecie w Zurychu.
Co do statusu, to co rano budzę się z kacem od YouTube Data API, oraz os-commerce bo muszę freelance skończyć, nim podpiszę umowę.
Pozdrawiam,
mGz
Konkurs na logo mojego wydziału
Zorganizowano konkurs na logo mojego wydziału. ( http://samorzad.wmid.amu.edu.pl/samorzad/html/index1.php)
Jak wiadomo teraz jestem wesołym bezrobotnym zatem i cierpie na nadmiar wolnego czasu więc postanowiłem przygotować swoją pracę konkursową. Przyświecały mi dwa założenia. Po pierwsze ma być ekstremalnie proste. Po drugie miało przypominać wzór matematyczny.
Oto moja praca konkursowa

After the session
Wszystko zadne, nawet największy kozak w pierwszym terminie. W międzyczasie poszukuje pracy o dziwo nawet czynnie, bo już mój fejm na goldenline się chyba wyczerpał.
W między czasie by mój talent programistyczny nie zardzewiał do reszty zająłem się ambitnym przedsięwzięciem, polegającym na stworzeniu Thema do wordpressa dla mojego znajomego co zajmuje się renowacją starych motorów. O dziwo stworzyłem również własnoręcznie na tablecie Wacom Bamboo wyczesany layout i właśnie jestem w trakcie jego cięcia. Ja rozumiem, że pojęcie wyczesany jest mocno przegięte. Również typografia pozostawia wiele do życzenia, ale to już są pierdoły, którymi można zająć się podczas pisania CSS’ów.

Layout Classic Motor
Jak to zwykle bywa po dobrze wykonanym obowiązku czas odpocząć więc dnia 7.03 uderzam tutaj:
Wyświetl większą mapę
Tymczasem zostawiam wam coś do przemyśleń, a’propos waszych wymówek w pracy.

Będzie mnie jeszcze można zobaczyć na najbliższym Barcampie oraz marcowym spotkaniu Poznań Adobe User Group
Pozdrawiam wszystkich Allegrowiczów,
mGz
session
Witam,
Ostatnio mało piszę bo Szara Egzystencja Stała się Jebaną Apokalipsą. Tak dla tych co rebus był za trudny trwa sesja w najlepsze. 50% egzaminów udało już przebrnąć nawet z pozytywnym efektem teraz jeszcze tylko wyniki wczorajszego egzaminu z Modelowania Systemów Informatycznych i W przyszłą sobotę ostatni egzamin. Koniec sesji wiąże się również z częstym piciem, więc pewnie znowu będzie przerwa na kaca w postach.
Poz a tym wszystkim jestem od tygodnia wesołym bezrobotnym. Cieszę się urlopem oraz czasem, który mam i mogę po poświęcić na naukę, żeby potem znowu nie ganiać jakiegoś egzaminu do maja w sesji zimowej
.
Pozdrawiam,
mGz
Projekt dyplomowy
Generalnie udało nam się skończyć na czas dokumentacje. Śpiąc w ciągu weekendu łącznie może 4 godziny. Tuż przed prezentacją udało nam się nawet oprawić dokumentacje.
Potem tylko 30 min stresu i wskoczyło 5 do indexu. Jeszcze tylko egzamin licencjacki i wakacje
Pozdro dla:
Karoliny za super tosty, Sunday’a, Mareckiego, Tempiny.
Po sesji…
Udało się zdać bez bólu całą sesję. Ostania na studiach licencjackich. Już tylko pozostało mi obronić mi projekt dyplomowy oraz zdać egzamin dyplomowy z cyklu 60 pytań True or False. Ciężki tydzień się znowu zapowiada naukowo-zawodowy. W piątek mam deadline fazy projektu e-learningowego a w sobote/niedzielę muszę oddać projekt dyplomowy. Odstawiam spanie.
Pozdro,
mGz
Ps.
Nie myślcie, że się obijam i na blogu nie pisze. Jestem już na finiszu z postem o środowisku webdevelopera. Premiera Soon
Uzupełniam linki do stron, i musze porobić kilka Screenshotów.
Search
AdTaily
Najnowsze wpisy
Kategorie
- bez kategorii (38)
- c++ (2)
- czas wolny (28)
- java (3)
- kryptografia (5)
- praca (26)
- projekty (24)
- przemyślenia (15)
- uczelnia (13)
- Webdevelopment (33)
- Adobe AIR (2)
- Adobe Flex (2)
- AJAX (3)
- Apache (1)
- cloud computing (1)
- doctrine (2)
- GoogleMaps (4)
- JavaScript (3)
- jQuery (1)
- MySql (3)
- Optymalizacja (1)
- paypal (1)
- php (14)
- symfony (3)
- Symfony 1.4 (1)
- Symfony 2.0 (1)
- WordPress (4)
Przyjaciele
Archiwa
Tagi
Najnowsze komentarze
Linki
- wykonywanie stron www
- aranżacje
- Notensatz
- darmowe pozycjonowanie
- sklep mountainboard
- Tłumaczenia angielsko polskie tanie.
- pozycjonowanie stron częstochowa
- wózki dziecięce
- Darmowe Pobieranie TORRENTY
- Pomysły i porady Mistrzunia
- zakopane noclegi
- nieruchomości warszawa
- Katalog stron
- sale weselne częstochowa
- serwis komputerowy
