Gå til innhold
Presidentvalget i USA 2024 ×

Krypteringsverktøy ( laget i Visual Basic 2008)


Anbefalte innlegg

Videoannonse
Annonse

Fint at du lager noe :thumbup:

Så til det negative.

så jeg har fått lagd et nytt krypteringsverktøy

Du har ikke lagd et krypteringsverktøy,Base64 har ingen ting med kryptering og gjøre.

Base64 er kun encoding som man lett kan decode.

Flere språk har denne funksjon innebygd.

Eksp python.

>>> import base64
>>> base64.encodestring('hello world')
'aGVsbG8gd29ybGQ=\n'
>>> base64.decodestring(_)
'hello world'
>>>

Bruksområder for base64 kan være.

Sende binary data over nettverket,som minsker risikoen for at feil skjer

Et annet eksp kan være email tillegg.

 

Jeg har bruke Base64 noen ganger i forbindelse med GUI,for og slippe og laste bilder fra disk.

Med Base64 kan man encode bildet,så man kan bruke det i kildekoden.

Eksp python.

import base64

jpgfile = "mypic.jpg"
jpg_text = 'jpg1_b64 = \\\n"""' + base64.encodestring(open(jpgfile,"rb").read()) + '"""'
print jpg_text

Denne koden gir ut en text man kan lime inn i kildekoden,da kan man vise bildet ved og decode det i GUI.

Lenke til kommentar

:roll: Ja, brukte en del tid på og sette sammen denne :!:

Men håper at den kommer til nytte ...

 

Hvis noen vil ordne litt på INTERFACE (utsende) er det strålende // (hvis det trengs)

EDIT: Mente du at eneste negative i det var den setningen? Uansett, fjernet :p

Endret av Bendik1337
Lenke til kommentar

Det følger med masse krypteringsalgoritmer i .NET. Du er kanskje mer interessert i AES kryptering. Dette finner du under System.Security.Cryptography. Du vil lag en System.Security.CryptographyStream på toppen av en filestream som krypterer og dekrypterer.

Har ikke testet programmet dog, siden jeg er på jobb nå.

Lenke til kommentar

Det følger med masse krypteringsalgoritmer i .NET. Du er kanskje mer interessert i AES kryptering. Dette finner du under System.Security.Cryptography. Du vil lag en System.Security.CryptographyStream på toppen av en filestream som krypterer og dekrypterer.

Har ikke testet programmet dog, siden jeg er på jobb nå.

 

Er AES kryptering bra? trenger det så sterkt som mulig og HELST med passord :)

Hvis bedere enn nåverende, hvordan får jeg ordnet den?

Endret av Bendik1337
Lenke til kommentar

AES er det som er vanligst i bruk (HTTPS for eksempel bruker AES). Et alternativ til AES er Blowfish, men den er ikke implementert i .NET, så da må du isåfall finne det et annet sted.

Det er en IV og en key, IV er public key og trenger ikke være hemmelig, men key er ofte en hash av et passord (for eksempel hashet med MD5 eller SHA384)

 

Bare les noen eksempler på AES (Rijndael). Det er ikke så veldig vanskelig å få til.

Lenke til kommentar
Hvis bedere enn nåverende, hvordan får jeg ordnet den?

Du må lese litt Cryptographic hash function.

Det du har lagd nå har ingen ting med kryptering og gjøre.

En viktig faktor er at det ikke er decode funksjon i kryptering.

Base64 har en decode funksjon,den har 0 sikkerhet i forhold til det du prøver og gjøre.

 

En rask intro med sha512 algorithm.

>>> import hashlib
>>> hashlib.sha512("my password").hexdigest()
'e28bdbf8faa97dab2203fcc89e397a4bf8d4a5b370421e5481a55f317caee4f81be5a810bb1cffc4695c32198717b9a6e835895852ee3a8689d0963463f2db15'

Som du ser gir denne ut 128 bokstaver og tall.

Hva vi har her er hash SHA-512 kryptering av "my password".

Denne hash algoritmen er en veis,som betyr at du ikke kan finne ut hva passordet ved hjelp av de 128 tegn.

 

For og si det sånn sha512 er veldig sikkert,man kan prøve og knekke det vel hjelp av Rainbow Table(ordlister).

Bruteforce er ikke et valg på en så sterk hash.

Man har også Salt for og gjøre det enda vanskligere og knekke dette.

 

Det man må gjøre er og sammenligne user_input med hash algoritmen.

Man kan ha disse 128 tegn på disk/database for så og gjøre en sammenligning med hva bruker_input er.

For og validere om passordet er godkjent.

Dette var en liten intro i kryptering.

>>> user_input = hashlib.sha512("my password").hexdigest()
>>> if user_input == 'e28bdbf8faa97dab2203fcc89e397a4bf8d4a5b370421e5481a55f317caee4f81be5a810bb1cffc4695c32198717b9a6e835895852ee3a8689d0963463f2db15':
...     print 'Your password is valid'
...     
Your password is valid
>>> 

Endret av SNIPPSAT
Lenke til kommentar

Hvordan eks. Lage liste over krypteringsmåter og hvordan finne flere?

Du er i utgangspunktet ute etter én. Å bruke flere vil være uten hensikt, ettersom du må da sende over data uktyptert for å fortelle hvilken algoritme som brukes. Bestem deg derfor for å bruke én.

Skal du lage en sikker fil, må du tenke deg GODT om hvordan dette skal gjøres. Ideelt er all data kryptert, og det er ingen måte å åpne fila på, selv ikke små deler, uten en nøkkel.

Bruk AES. Det er simpelt, sikkert, og har alt det du trenger.

 

Merko: Jeg TVILER på at TS har klart å løse alle problemene med å lage en trojaner, ettersom en ting en må gjøre, er å kryptere data. Hvis ikke jeg gjetter feil, så er den trojaneren såpass naivt implementert at du kan starte wireshark og sende en anmeldelse om IP adressen til politiet, eller ISP. Sannsynligvis så er det i beste fall bare en RPC server.

Endret av GeirGrusom
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...