Winnyのハッシュからキャッシュファイル名を割り出す
このあたりの303を参考-> http://6419.net/l/tmp/download/1053/10538/1053801807.html
既にコマンドとして動作するです。nyhashtocacheとかで名前をつけたら、nyhashtocache ハッシュ値 ハッシュ値...でGo
1 BASE = 0x9D01505E14672A9A5EC6DC742C840D8F
2
3 import sys
4 import re
5
6 def main():
7
8 rehex = re.compile('^[0-9a-f]+$', re.I)
9 if len(sys.argv) < 2:
10 print >>sys.stderr, 'usage: %s hash...' % sys.argv[0]
11 return
12 for hash in sys.argv[1:]:
13 if not rehex.match(hash):
14 print >>sys.stderr, 'error: invalid argument:', hash
15 continue
16 print '%' + hex(eval('0x' + hash) ^ BASE)[2:-1].lower()
17
18 if __name__ == '__main__':
19 main()
