LABI: tema01 added
This commit is contained in:
parent
355ee1d254
commit
1395c16f3c
|
@ -5,5 +5,7 @@
|
|||
* [Slides](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/1semestre/iei/tema01/tema-1-criptografia.pdf)
|
||||
* [Guião](https://github.com/TiagoRG/uaveiro-leci/blob/master/1ano/1semestre/iei/tema01/guide-1-cripto.pdf)
|
||||
|
||||
### Nota: código bastante incompleto porque a biblioteca do PyCrypto não gosta de trabalhar :skull:
|
||||
|
||||
---
|
||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
import os
|
||||
import sys
|
||||
from Crypto.Cipher import AES
|
||||
|
||||
|
||||
def main(args=None):
|
||||
cipher = AES.new(os.urandom(16), AES.MODE_ECB)
|
||||
print(cipher.encrypt(b'Hello World!'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(sys.argv[1:])
|
|
@ -0,0 +1,16 @@
|
|||
import hashlib
|
||||
import sys
|
||||
|
||||
|
||||
def main(args=None):
|
||||
with open(args[0], 'rb') as f:
|
||||
buffer = f.read(512)
|
||||
h = hashlib.sha1()
|
||||
while len(buffer) > 0:
|
||||
h.update(buffer)
|
||||
buffer = f.read(512)
|
||||
print(h.hexdigest())
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(sys.argv[1:])
|
|
@ -0,0 +1,14 @@
|
|||
import sys
|
||||
from Crypto.Hash import SHA256
|
||||
|
||||
|
||||
def main(args=None):
|
||||
with open(args[0], 'rb') as f:
|
||||
buffer = f.read()
|
||||
h = SHA256.new()
|
||||
h.update(buffer)
|
||||
print(h.hexdigest())
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(sys.argv[1:])
|
|
@ -0,0 +1,22 @@
|
|||
# Screw 1.4 :skull:
|
||||
import codecs
|
||||
import os
|
||||
import sys
|
||||
from Crypto.Cipher import ARC4
|
||||
|
||||
|
||||
def main(args=None):
|
||||
with open(args[0], 'r') as f:
|
||||
text = f.read(2048)
|
||||
cipher = ARC4.new(bit_array_from_str(args[1]))
|
||||
cryptogram = cipher.encrypt(text)
|
||||
os.write(1, cryptogram)
|
||||
print()
|
||||
|
||||
|
||||
def bit_array_from_str(s):
|
||||
return [codecs.encode("hex") for elem in s]
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(sys.argv[1:])
|
Loading…
Reference in New Issue