ncf wrote: > As I fail to see how an array could be used in this (my own > stupidity?), would you have any such example? For reference, I'm trying > to translate this: http://www.cr0.net:8040/code/crypto/sha256/ (Inside > sha256_process). > > Once again, thanks for the patience, I'm still picking up on all the > little tid-bits. :)
def P(arr, x, k): a, b, c, d, e, f, g, h = arr temp1 = arr[7] + S3(arr[4]) + F1(*arr[4:7]) + k + x temp2 = S2(arr[0]) + F0(*arr[:3]) arr[3] += temp1 arr[7] = temp1 + temp2 K = [0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98] ... for i in xrange(9): P(arr, w[i], K[i]) if i != 8: # don't rotate the last time arr = [arr[-1]] + arr[:-1] # rotate arr The last line moves the last element of arr to the beginning (so the positions are correct for the call to P). -- http://mail.python.org/mailman/listinfo/python-list