Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Около 75% написано на языке программирования Паскаль, ещё 15% на ассемблере для Motorola 68000.а остальные 10? Или это опечатка?
Вот у кого нужно учиться разработчикам Оперы!

def photoshop_keygen
first_part_serial = ""
12.times do |val|
first_part_serial << rand(0x41..0x5A).chr
end
checksum = 0
dummy_array = [594, 629, 431, 954, 228,
741, 413, 846, 548, 945,
187, 375, 599]
first_part_serial.size.times do |val|
checksum += first_part_serial[val].ord * dummy_array[val]
end
checksum %= 1000
checksum += 284 if checksum < 100
serial = first_part_serial + checksum.to_s
end

Опубликован исходный код Photoshop 1.0