web大作业制作网页模版,

  web大作业制作网页模版,

  这学期网络安全课的一个大作业很一般(很差),但出于记录的目的,这个大作业和个人作业贴在这里。

  大型工作内容:

  

源数据

: 163,LinkedIn,雅虎数据库密码泄露。

  

要求

:

  1.基本分析:包括密码成分分析、键盘密码模式分析、日期密码及其格式分析、拼音使用情况统计分析和英文单词使用情况统计。

  2.根据分析结果编写一个密码字典生成器。

  3.(可选)根据分析结果,使用传统方法(PCFG/马尔可夫)或机器学习算法分析和评估密码的安全性,并编写程序。

  

我的任务:

  在密码数据库中识别拼音,并进行统计分析。

  这就是这个大作业的内容。我使用Python语言,使用Pandas库中的Series、DataFrame格式和正则表达式来编写和实现程序。

  程序源代码:

  https://github.com/AndyLauCD/python/blob/master/_雅虎拼音分析代码_161012.py

  这个作业的主要问题是确定一个字是不是拼音。主要算法参考(基本相当于)通用人类在以下URL的答案:

  http://stack overflow . com/questions/8870261/how-to-split-text-without-spaces-to-list-of-words

  这是一个很精妙的算法,用的是常见的英文词频词典,用加权和Zipf定律来分词。但是,我把字典改成了汉语拼音。因为汉语拼音没有使用词频的统计,所以我用短拼音比长拼音权重大(比如pin比ping权重大)来划分,做统计分析。

  这个赋值的本质是它也可以用在英语用法统计中。不过由于时间关系,这部分已经有其他优秀的小组成员做了,有机会我可以继续分析和绘制统计数据。

  统计结果主要如下:

  统计163LinkedInYahoo总密码数3727349100000453492总拼音数128731624910789916前20名AAAWOEMAIMEI MELIMAONOMANGI XIAOMIUMEYULI Wei lishazhang kalashinieriangdaliunakamatachane haoliniwusatajianbadeyimoan

  另外这个算法有一些中英文识别问题,比如‘A’,根据用户习惯很难判断它属于一个单词还是一个字母。更何况“夏”可以理解为苏、米、二,暂时没有合适的解。留着以后想。

web大作业制作网页模版,