加密key='COMPUTER'
plaintext='BLOCKCIPHERDESIGNPRINCIPLE'
ascii='abcdefghijklmnopqrstuvwxyz'.upper()
keylen=len(key)
ptlen=len(plaintext)
ciphertext = ''
i = 0
while i < ptlen:
    j = i % keylen
    k = ascii.index(key[j])
    m = ascii.index(plaintext[i])
    ciphertext += ascii[(m+k)%26]
    i += 1

print ciphertext
解密key='helloworld'
ciphertext='dlpcsegkshrij'

#key='relations'
#ciphertext='ksmehzbblk'

ascii='abcdefghijklmnopqrstuvwxyz'
keylen=len(key)
ctlen=len(ciphertext)
plaintext = ''
i = 0
while i < ctlen:
    j = i % keylen
    k = ascii.index(key[j])
    m = ascii.index(ciphertext[i])
    if m < k:
        m += 26
    plaintext += ascii[m-k]
    i += 1

print plaintext

最新文章

  1. ios 多种传值方式
  2. CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
  3. GDC2016【For Honor-荣耀战魂】的次世代动画技术
  4. gpart 使用笔记
  5. [SAP ABAP开发技术总结]业务对象和BAPI
  6. 欧几里得算法与扩展欧几里得算法_C++
  7. Jquery easyui treegrid实现树形表格的行拖拽
  8. 对 ASP.NET 页面进行跟踪(Control Tree)
  9. 动画Rig设置为Legacy
  10. protobuf的反射机制
  11. Local System、Local Service與Network Service
  12. [Usaco2008 Dec]Patting Heads 轻拍牛头[筛法]
  13. Python调用(运行)外部程序
  14. 走近RDD
  15. 国内优秀MVC开源框架jfinal简介
  16. windows平台下的oracle ORA-01031的解决方法
  17. 复杂HTML解析
  18. SAS 报表输出一些新式控制
  19. vue .map 文件
  20. 【LeetCode】Binary Tree Upside Down

热门文章

  1. StackOverflow Update: 560M Pageviews A Month, 25 Servers, And It&#39;s All About Performance
  2. Telegram传奇:俄罗斯富豪、黑客高手、极权和阴谋…
  3. Jquery学习—jquery的事件
  4. 【使用 DOM】使用事件
  5. Android 多语言
  6. [android] 短信发送器
  7. SQL如何取得一个面的中心点
  8. 公司outing选项
  9. linux中fork()函数详解(原创!!实例讲解) (转载)
  10. [leetcode] Bitwise AND of Numbers Range