How to display the first few characters of a string in Python?

Hi, I was just starting to learn Python, but now I'm kind of stuck.

I have a hash.txt file containing thousands of malware in MD5, Sha1 and Sha5, respectively, separated by delimiters on each line. Below are 2 lines of examples extracted from a .txt file.

416d76b8811b0ddae2fdad8f4721ddbe | d4f656ee006e248f2f3a8a93a8aec5868788b927 | 12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f 56a99a4205a4d6cab2dcae414a5670fd | 612aeeeaa8aa432a7b96202847169ecae56b07ee | d17de7ca4c8f24ff49314f0f342dbe9243b10e9f3558c6193e2fd6bccb1be6d2

My intention is to display the first 32 characters (MD5 hash), so the output will look something like this:

416d76b8811b0ddae2fdad8f4721ddbe 56a99a4205a4d6cab2dcae414a5670fd

Any ideas?

+45
python
Jul 30 2018-12-12T00:
source share
3 answers

You can easily "chop" a string , just like you pull items from a list :

 a_string = 'This is a string' 

To get the first 4 letters:

 first_four_letters = a_string[:4] >>> 'This' 

Or the last 5:

 last_five_letters = a_string[-5:] >>> 'string' 

So, applying this logic to your problem:

 the_string = '416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f ' first_32_chars = the_string[:32] >>> 416d76b8811b0ddae2fdad8f4721ddbe 
+104
Jul 30 '12 at 3:01
source share

Since there is a separator, you should use this and not worry about how long md5 is.

 >>> s = "416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f" >>> md5sum, delim, rest = s.partition('|') >>> md5sum '416d76b8811b0ddae2fdad8f4721ddbe' 

As an alternative

 >>> md5sum, sha1sum, sha5sum = s.split('|') >>> md5sum '416d76b8811b0ddae2fdad8f4721ddbe' >>> sha1sum 'd4f656ee006e248f2f3a8a93a8aec5868788b927' >>> sha5sum '12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f' 
+10
Jul 30 2018-12-12T00:
source share

If you need the first 2 letters and the last 2 letters of the string, you can use the following code: name = "India" name[0:2]="In" names[-2:]="ia"

0
Dec 15 '17 at 12:26
source share



All Articles