Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2013, 18:31   #1
Aleksa91
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 21
По умолчанию Перевод кода из Python в C#

Помогите,пожалуйста, перевести код. Просто язык Python я вообще не знаю.
Эта программа- это взлом шифра Виженера.Буду очень благодарна
Код:
def form_dict():
    d = {}
    iter = 0
    for i in range(0,127):
        d[iter] = chr(i)
        iter = iter +1
    return d
def encode_val(word):
    list_code = []
    lent = len(word)
    d = form_dict() 
 
    for w in range(lent):
        for value in d:
            if word[w] == d[value]:
               list_code.append(value) 
    return list_code
def comparator(value, key):
    len_key = len(key)
    dic = {}
    iter = 0
    full = 0
 
    for i in value:
        dic[full] = [i,key[iter]]
        full = full + 1
        iter = iter +1
        if (iter >= len_key):
            iter = 0 
    return dic 
 
def full_encode(value, key):
    dic = comparator(value, key)
    print 'Compare full encode', dic
    lis = []
    d = form_dict()
 
    for v in dic:
        go = (dic[v][0]+dic[v][1]) % len(d)
        lis.append(go) 
    return lis
 
def decode_val(list_in):
    list_code = []
    lent = len(list_in)
    d = form_dict() 
 
    for i in range(lent):
        for value in d:
            if list_in[i] == value:
               list_code.append(d[value]) 
    return list_code
def full_decode(value, key):
    dic = comparator(value, key)
    print 'Deshifre=', dic
    d = form_dict() 
    lis =[]
 
    for v in dic:
        go = (dic[v][0]-dic[v][1]+len(d)) % len(d)
        lis.append(go) 
    return lis
if __name__ == "__main__":
 
    word = 'Hello world'
    key = 'key'
    
    print 'Слово: '+ word
    print 'Ключ: '+ key
 
    key_encoded = encode_val(key)
    value_encoded = encode_val(word)
 
    print 'Value= ',value_encoded
    print 'Key= ', key_encoded
 
    shifre = full_encode(value_encoded, key_encoded)
    print 'Шифр=', ''.join(decode_val(shifre))
 
    decoded = full_decode(shifre, key_encoded)
    print 'Decode list=', decoded
    decode_word_list = decode_val(decoded)
    print 'Word=',''.join(decode_word_list)
Aleksa91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбор/комментирование кода (python, QT) Kernel692 Фриланс 0 13.05.2012 03:20
перевод кода на С PhysX Помощь студентам 0 02.12.2011 17:46
перевод кода из С++ в С# PROkaZZZniK C# (си шарп) 3 14.11.2011 18:12
Перевод кода на С++. opax Помощь студентам 0 07.12.2010 07:10
Перевод кода на С++ Golovastik Помощь студентам 0 04.06.2009 14:27