Internet, WorldWideWeb, HTML, och Java pplets HTML kan tolkas av swingkomponenter: new Jutton("<html>Hej <b> då! </b></html>"); utomatiskt genererade dokumentation i HTML JEditorPane webbläsarkomponent ra stöd för nätverkskommunikation med TCP/IP och UDP/IP Tre typer av kommentarer: //Kommentar /* Kommentar Kommentar Javadoc Tillgängliga taggar: @author (classes and interfaces only) @version (classes and interfaces only) @param (methods and constructors only) @return (methods only) @exception (@throws is a synonym) @see @since @serial (or @serialfield or @serialdata) @deprecated Javadoc exempel: * <p>title: Matte</p> * <p>description: En klass med matematiska funktioner</p> * <p>copyright: Copyright (c) 2005</p> * <p>company: ND </p> * @author C. Johansson * @version 1.0 Webbläsarkomponenten JTextField JEditorPane JTable public class Matte { Metoden returnerar summan av två tal. @param x Ett heltal @param y Ett heltal @return Ett heltal som är summan av de två talen x och y public int summa(int x, int y) { return x+y; JEditorPane p Visa www-sida: p.setpage("http://www.nada.kth.se/~henrik"); För att kunna klicka på länkar: p.seteditable(false); p.addhyperlinklistener(<hyperlinklistener>); Det finns tre slag av hyperlänkshändelserna: musrörelse in över länk, musklickning och musrörelse ut ur länken HyperlinkListener public class WWW implements HyperlinkListener { public void hyperlinkupdate(hyperlinkevent e) { if(e.geteventtype()==hyperlinkevent.eventtype.entered) { setcursor(cursor.getpredefinedcursor(cursor.hnd_cursor)); else if(e.geteventtype()==hyperlinkevent.eventtype.exited) { setcursor(cursor.getdefaultcursor()); else visasida(e.getdescription()); //visasida är en web-läsare 1
Läsa en WWW-sida tt ansluta till www-sidan: InputStream in=new URL(webbsida).openConnection().getInputStream(); InputStreamReader reader= new InputStreamReader(in); tt läsa html-koden tecken för tecken while(reader.ready()) System.out.print((char)reader.read()); ättre att använda Javas inbyggda stöd för hantering av HTML-sidor! Finns i paketet javax.swing.text.html Swing och HTML Vi läser in förgående sida i HTMLDocument doc: new HTMLEditorKit().read(reader,doc,0); Nu vill vi stega oss fram i alla starttaggar av en viss typ. Steg 1 är att skapa en Iterator: HTMLDocument.Iterator it=doc.getiterator(html.tag.); Vi har vi skapat en iterator it för taggen <> (fetstil) och den har fem metoder: it.next() stegar fram it.isvalid() blir false när filen är slut it.getstartoffset() där texten mellan taggarna börjar it.getendoffset() där texten mellan taggarna slutar it.getttributes() taggens attributlista Swing och HTML Vissa taggar kan ha attribut, till exempel <ODY GCOLOR=YELLOW> och det värde som attributet bgcolor har får man fram med: it.getttributes().getttribute(html.ttribute. GCOLOR)); Om man tagit reda på var texten mellan taggarna börjar och slutar kan man ta fram texten med: doc.gettext(start,slut-start); Kryptologi vetenskapen om kryptering, dekryptering och om forcering av krypterade meddelanden Kryptografi läran om kryptering och dekryptering Kryptoanalys läran om att forcera krypton "Enkla" symmetriska krypton är kända från åtminstone Julius Caesars tid för mer än 2 000 år sedan. Uppgift: forcera kryptot Givet: Åtta stycken svenska räkneord Krypterade med ett substitutionskrypto C DC EFG EHI JHK LH MN H Kryptologi 2 Ett kryptos grad av säkerhet mätts i hur mycket resurs och tid som går åt för att forcera det. Kryptering genom obskyr kodning är en dålig idé, Ex: Informationen till övningsassarna på kursen 2D1310. (tt medvetet dölja ett meddelandes existens kallas steganografi ) 2
Symmetrisk Kryptering M Meddelandet K Nyckeln C Krypterat Meddelande M = 1 1 0 1 1 0 0 0 0 1 0 1... +K = 1 0 1 1 0 1 1 1 0 1 1 0... ------------------------------ C = 0 1 1 0 1 1 1 1 0 0 1 1... +K = 1 0 1 1 0 1 1 1 0 1 1 0... ------------------------------ M = 1 1 0 1 1 0 0 0 0 1 0 1... DES - (Data Encryption Standard) Det föregående krypteringsmetoden kan knäckas med bokstavsfrekvenser landningsoperationer som verkar på meddelandet är ett måste, en metod är DES Nyckeln K måste distribueras med kurir DES kan knäckas med brute-force, beroende på nyckelns längd DES är standard för statliga organisationer i US okstavsfrekvenser i svensk text Distribution av nyckeln med en kommutativ krypteringsmetod 10,00 9,00 8,00 7,00 1 M K M M Meddelande K Nyckel % 6,00 5,00 2 M K M 4,00 3,00 2,00 3 M K -1 M 1,00 0,00 a b c d e f g h i j k l m n o p q r s t u v w x z y å ä ö 4 M K -1 M Public Key Secret Key (asymmetrisk kryptering) symmetrisk Kryptering M Meddelande K + Publik Nyckel K - Hemlig Nyckel 1 M 2 K - K + K + Produkten av två primtal K - Primtalsfaktorerna för K + M -+ K M - + K + M+ M Föreslogs år 1976 i en artikel av Whitfield Diffie och Martin Hellman (ritish Secret Service kom med det 1970) Elgamal - Taher Elgamal RS - Ron Rivest, di Shamir, and Leonard dleman DS - Digital Signature lgorithm invented by David Kravitz 3
PGP Pretty Good Privacy PGP är ett hybrid system som använder både symmetrisk och asymmetrisk kryptering symmetrisk kryptering är ca 1000 ggr långsammare än tex DES symmetrisk kryptering kan användas för att utbyta en DES-nyckel. Komprimerar data som ska krypteras PGP är utvecklat av Phil Zimmermann Sabotage av kommunikationen 1. Stympa meddelandet 2. Klistra ihop uppsnappade meddelanden 3. Fördröja meddelanden Meddelandehashning (används i PGP) Tidsstämpelserver Datajuridik - PUL PUL Personuppgiftslagen http://www.datainspektionen.se/lagar/pul.shtml Gäller för alla former av informationsbärande medium Databaser och register E-post Löpande text Webbsidor PUL ll befattning med personuppgifter kräver enligt PUL samtycke om den inte görs i journalistisk eller konstnärlig verksamhet eller rent privat. För att det ska räknas som privat ska uppgifterna bara vara åtkomliga för en själv och familjen, som fotoalbum, telefonbok och dagbok. Den som lägger upp sökbara personuppgifter måste anmäla detta till Datainspektionen eller till företagets eget personuppgiftsombud. Varje person har rätt att en gång om året på begäran få upplysning om allt som står om henne i företagets eller myndighetens register. Upphovsrätten För att möjliggöra konstnärligt skapande har upphovsrättslagen tillkommit Ger ekonomisk ersättning och ensamrätt att bestämma över sina verk. Upphovsrätten uppstår automatiskt i och med verkets skapande. Man markerar ofta upphovsmannens skydd genom användande av symbolen för copyright, ( ), men detta har enligt svensk lag ingen formell betydelse för att upphovsrätt ska gälla. Upphovsrättens omfattning, (URL) 1 Skönlitterär eller beskrivande framställning i skrift eller tal Datorprogram Musikaliskt eller sceniskt verk Filmverk Fotografiskt verk eller något annat alster av bildkonsten lster av byggnadskonst eller brukskonst, eller verk som har kommit till uttryck på något annat sätt 4
Förfoganderätt och ideell rätt Ekonomiska rätten förfoganderätten Framställa exemplar av verket Visa det offentligt Sprida det till allmänheten Framföra verket offentligt Ideella rätten Upphovsmannen skall namnges vid utnyttjanden av verket Verket inte får ändras på ett för upphovsmannen kränkande vis Upphovsrätten 2 Skyddstiden är 70 år Upphovsrätten till något kan ärvas Det är tillåtet att ta enstaka kopior av ett verk för enskilt bruk. Ett undantag från denna regel är kopior av datorprogram. 1710 i England kom den första upphovsrättslagen för att skydda boktryckarna 5