README

Example Guide

贡献指南

▼ 项目列表

▼ Intermediate-Level Ideas

Book Finder App

To-Do 应用

命令行计算器

Markdown预览器

Emoji翻译器应用

Password Generator

Name Generator

Meme生成器应用

FlashCards应用

Charity Finder App

Podcast目录应用

Game Suggestion App

Simple Online Store

Flip Art App

HighStriker游戏

Sports Bracket Generator

时区提醒机器人

二维码徽章应用

卡片记忆游戏

Bit Masks App

Chrome主题扩展

Currency Converter

Drawing App

GitHub个人资料

Image Scanner

Markdown表格生成器

RegExp助手应用

Sales数据库应用程序

String Art

This or That Game

Typing Practice App

Voting App

Math Editor

▼ 初学者项目合集

Bin2Dec应用

Border Radius Previewer

CSV转JSON应用

Calculator App

Calendar App

因果应用

Christmas Lights App

Color Cycle App

倒计时器应用

Dollars To Cents App

Dynamic CSS Variables App

First Database App

Flip Image App

GitHub状态应用

Hello App

IOT邮箱应用

JSON转CSV应用

Javascript正则表达式验证

Key-Value 应用

Lorem Ipsum 生成器

Notes应用

Pearson回归应用

Pomodoro时钟

产品登陆页

Quiz应用程序

随机餐点生成器

随机数生成器

Recipe App

Roman to Decimal Converter

滑块设计

Stopwatch App

True or False App

Vigenere 密码

Weather App

Windchill App

Word Frequency App

▼ Advanced Ideas

Battleship Bot

Battleship游戏引擎

Boole Bot 游戏

Bug Race Game

Calorie Counter App

Chat应用

Contribution Tracker App

Elevator App

FastFood应用

GitHub时间线应用

GitTweet应用

Instagram克隆应用

Kudos Slackbot

Movie App

MyPodcast Library App

NASA系外行星查询

Shell Game

Shuffle-Deck-App

Slack 归档器

SpellIt-App

Survey App

维吉尼亚密码

难度: 初级

近年来安全漏洞的发生频率和影响之大,使得开发者必须了解恶意攻击者用来破坏应用程序的方法。了解应用程序如何被破坏是制定有效保护措施的第一步。

恶意攻击者最容易通过的方式之一就是访问开发人员未加密的数据。有许多强大的加密算法可以确保即使数据被访问,也无法被读取。这些包括AES、Blowfish和TripleDES等。

然而,这些算法可能相当复杂,因此本应用程序的目标是实现一种经典的加密算法——维吉尼亚密码,以学习密码工作原理的基础知识。

要求与约束

  • 开发人员只能使用原生语言特性来实现维吉尼亚密码。不允许使用库。
  • 开发人员应仅使用维吉尼亚密码算法步骤描述的描述来设计和实现自己的解决方案。
  • 成功实现此算法后,开发者应自问以下问题:
    • 使用维吉尼亚密码加密您的财务信息会让您有信心吗?为什么?
    • 您如何检测消息是否使用了维吉尼亚密码加密?
    • 您会如何尝试破解这种加密?

用户故事

  • [ ] 用户可以看到一个包含以下组件的应用程序窗口:
    • 明文消息输入字段
    • 加密密钥输入字段
    • 操作按钮 - '加密' 和 '解密'
    • 结果显示的加密或解密消息
  • [ ] 用户可以在明文消息输入字段中输入要加密的文本。
  • [ ] 用户可以输入用于加密明文消息的维吉尼亚密码算法将使用的密钥。
  • [ ] 在明文消息被加密之前,用户可以看到'解密'按钮处于禁用状态。
  • [ ] 用户可以点击'加密'按钮来加密明文消息。
  • [ ] 用户可以在结果字段中看到显示的加密消息。
  • [ ] 在加密消息显示后,用户可以看到'解密'按钮启用。
  • [ ] 用户可以点击'解密'按钮来解密加密消息,并在结果字段中显示其内容。

额外功能

  • [ ] 解密后,用户可以看到一个'比较'按钮,将原始明文消息与解密消息进行比较。
  • [ ] 如果'比较'检测到这两个字段的内容有差异,则用户会看到错误消息。

有用链接和资源

示例项目

维吉尼亚密码加密