Python Forensics-클라우드 구현

Cloud computing인터넷을 통해 사용자에게 제공되는 호스팅 서비스 모음으로 정의 할 수 있습니다. 이를 통해 조직은 가상 머신 (VM), 스토리지 또는 애플리케이션을 유틸리티로 포함하는 리소스를 소비하거나 계산할 수 있습니다.

Python 프로그래밍 언어로 애플리케이션을 빌드 할 때 가장 중요한 이점 중 하나는 다음을 포함하여 모든 플랫폼에 애플리케이션을 가상으로 배포 할 수 있다는 것입니다. cloud게다가. 이는 Python이 클라우드 서버에서 실행될 수 있으며 데스크톱, 태블릿 또는 스마트 폰과 같은 편리한 장치에서도 실행될 수 있음을 의미합니다.

흥미로운 관점 중 하나는 다음 세대를 통해 클라우드 기반을 만드는 것입니다. Rainbow tables. 단일 및 다중 처리 버전의 응용 프로그램을 통합하는 데 도움이되며 몇 가지 고려 사항이 필요합니다.

파이 클라우드

Pi Cloud는 Python 프로그래밍 언어를 Amazon Web Services의 컴퓨팅 성능과 통합하는 클라우드 컴퓨팅 플랫폼입니다.

다음을 사용하여 Pi 클라우드를 구현하는 예를 살펴 보겠습니다. rainbow tables.

레인보우 테이블

ㅏ rainbow table 주어진 해시 알고리즘에 특정한 암호화 된 암호의 가능한 모든 일반 텍스트 순열 목록으로 정의됩니다.

  • Rainbow 테이블은 해시 된 암호 목록을 생성하는 표준 패턴을 따릅니다.

  • 텍스트 파일은 암호화 할 암호의 문자 또는 일반 텍스트를 포함하는 암호를 생성하는 데 사용됩니다.

  • 이 파일은 저장 될 주요 기능을 호출하는 Pi 클라우드에서 사용됩니다.

  • 해시 된 암호의 출력도 텍스트 파일에 저장됩니다.

이 알고리즘은 데이터베이스에 암호를 저장하고 클라우드 시스템에 백업 저장소를 갖는데도 사용할 수 있습니다.

다음 내장 프로그램은 텍스트 파일에 암호화 된 암호 목록을 생성합니다.

예

import os
import random
import hashlib
import string
import enchant    #Rainbow tables with enchant 
import cloud      #importing pi-cloud

def randomword(length): 
   return ''.join(random.choice(string.lowercase) for i in range(length))

print('Author- Radhika Subramanian')

def mainroutine():
   engdict = enchant.Dict("en_US")
   fileb = open("password.txt","a+")

   # Capture the values from the text file named password
   while True:
      randomword0 = randomword(6)
      if engdict.check(randomword0) == True:
         randomkey0 = randomword0+str(random.randint(0,99))
      elif engdict.check(randomword0) == False:
         englist = engdict.suggest(randomword0)
         if len(englist) > 0:
            randomkey0 = englist[0]+str(random.randint(0,99))
         else:
            randomkey0 = randomword0+str(random.randint(0,99))

      randomword3 = randomword(5)
      if engdict.check(randomword3) == True:
         randomkey3 = randomword3+str(random.randint(0,99))
      elif engdict.check(randomword3) == False:
         englist = engdict.suggest(randomword3)
         if len(englist) > 0:
            randomkey3 = englist[0]+str(random.randint(0,99))
         else:
            randomkey3 = randomword3+str(random.randint(0,99))
      
      if 'randomkey0' and 'randomkey3' and 'randomkey1' in locals():
         whasher0 = hashlib.new("md5")
         whasher0.update(randomkey0)
         whasher3 = hashlib.new("md5")
         whasher3.update(randomkey3)
         whasher1 = hashlib.new("md5")
         whasher1.update(randomkey1)
         print(randomkey0+" + "+str(whasher0.hexdigest())+"\n")
         print(randomkey3+" + "+str(whasher3.hexdigest())+"\n")
         print(randomkey1+" + "+str(whasher1.hexdigest())+"\n")
         fileb.write(randomkey0+" + "+str(whasher0.hexdigest())+"\n") 
         fileb.write(randomkey3+" + "+str(whasher3.hexdigest())+"\n")
         fileb.write(randomkey1+" + "+str(whasher1.hexdigest())+"\n")

jid = cloud.call(randomword)  #square(3) evaluated on PiCloud
cloud.result(jid)
print('Value added to cloud')
print('Password added')
mainroutine()

산출

이 코드는 다음 출력을 생성합니다.

암호는 다음 스크린 샷과 같이 표시되는 텍스트 파일에 저장됩니다.