2013-07-01 2 views
-1

나는 'email'및 'pass'라는 두 개의 열 필드가있는 sql 파일을 가지고 있습니다. 내가 뭘하려고 오전에만 사용자의 이메일과 암호를 추출입니다txt 파일에서 특정 유형의 문자열 추출

'vloz54yC7q9p85i2Uwdi', 'zurunet', '[email protected]', '', '', '', '', '',  'http://www.bnadm.com', '1a36c4e04a065e1840132b64a1b0a2a8', 9, '1186148119', '', '', '', '', '', '', '', '', 0, '', '', 0); 
INSERT INTO `nuked_users` VALUES ('avtGdl4zt9woGjXevy3j', '1aflam', '[email protected]', '[email protected]', '', '', '', '', '', '13530b1a10329459789c8972909dddb4', 1, '1186451181', '', '', '', '', '', '', '', '', 0, '', '', 0); 

을 다음과 같이 샘플 부분입니다.

이렇게하려면 어떻게 @ hotmail.com과 함께 모든 문자열을 추출 할 수 있습니까? txt 파일의 이름에 foo.txt 인 경우 ,

fo = open("foo.txt" , 'r') 
listme = fo.readlines() 

listme 해당 파일의 문자 목록이 될 것입니다 그리고 난 끝에 @ hotmail.com으로 만 문자열을 필터링 할 필요가있다.

+0

. 또한 이메일 주소를 표시하면 악의적 인 사람이받는 공격 경로가 상당히 열려 있습니다. – asteri

+1

나는 가짜 md5를 고의로 유지했다. 그것은 .sql 파일에있는 것과 같지 않습니다. –

+0

내 주제가 보류 상태로 유지되는 이유는 무엇입니까? 보안상의 이유일까요? –

답변

3

with open("foo.txt" , 'r') as foo: 
    listme = foo.read() 

string = listme.strip().split(',') 
new_string = '' 


for words in string: 
    if words not in new_string: 
     if '@hotmail.com' in words: 
      new_string+=words 


print new_string 
이 파일이 열립니다

같은 것을 할 수 있습니다 (사용하여 문이있는), 다음을 읽고, 그 다음 각 쉼표의 큰 문자열을 분할, 다음은 루프를 사용 각 문자열을 반복하고 마지막 조건으로 다른 조건이 문자열을 선택하지 않으면 이미 사용되었는지 확인합니다. @hotmail.com!

이의 출력은 다음과 같습니다 누군가가 그것에서 비밀번호를 리버스 엔지니어링하는 것이 가능할 것이다 나는, 당신의 게시물에서 해시 된 암호를 제거하는 것이 좋습니다

'[email protected]' '[email protected]' 
+0

이메일을 반복하지 않도록 할 수 있습니까? 꽤 확실한 set()은 나를 도와주지 않을 것이다. –

+0

내가 편집 했어! 작동해야합니다. – Serial

관련 문제