【牛刀小试2】密码保护

【牛刀小试2】密码保护

主要知识:

1.        while循环

2.        do-while循环

3.        if-else

4.        strcmp()函数

[充电一下]

strcmp()函数的知识

原型:int strcmp ( const char * str1, const char * str2 );

返回值:


< 0


表示str1与str2不相等,其的值小于str2的值


=0


表示str1与str2相等


>0


表示str与str2不等,且其值大于str2的值

如今已经进入"码奴"(密码的奴隶)的时代,人人都有很多密码

比如登入CSND也要有密码,银行卡也需要有密码等等。所以保存密

码特重要,要不然小心C币和钱不翼而飞了。

现在我们来编个程序,来保护我们珍贵的密码^-^

要求:

(1)输入密码后不显示在界面上,并使用星号代替

(2)可以删除错误的输入,即更改错误输入

(3)密码错误提示,只允许输入错误3次,否则强行退出

//密码保护
#include <stdio.h>
#include <stdlib.h>   //for exit
#include <string.h>   //for strcmp

int main( void )
{
     int count= 0; //计算输入次数
         charmima[ 7 ]; //用于存放输入的密码
         intlength= 0;
         charletter;

         while(count<= 3 )
         {
                   printf("\n输入您的6位密码: ");

                   while(length< 7 )
                   {
                      mima[ length++ ]= '\0'; //为mima数组赋值'\0'
                   }

                   length=0;   //长度置为0
                   letter='\0';

                   while(letter!= '\r' ) //回车符
             {
                       letter= getch();

                            if(( letter== '\b') && ( mima[ 0 ]== '\0' ) )
                            {
                                length= 0;
                            }
                            else
                            {
                                     if(( letter== '\b' ) && ( mima[ 0 ]!= '\0' ) )
                                     {
                                               printf("\b" ); //退一个
                                               printf(" " );  //清除错误的字母
                                               printf("\b" ); //退回去

                                               length--;
                                               mima[length ]= '\0';
                                     }
                                     else
                                     {
                                               if(length< 6 )
                                               {
                                                        printf("*" );

                                                        mima[length++ ]= letter;
                                               }

                                     }
                            }

             }

                   mima[6 ]= '\0';
                   count++;

                   if(strcmp( "111111", mima )== 0 )
                   {
                       printf( "\n\n登入成功,欢迎使用^-^\n");

                       break;
                   }
                   else
                   {
                            printf("\n\nSorry,密码输入错误~_~\n" );
                       if( count>= 3 )
                            {
                                     printf("\n\n为了保护您的账户,请尽快与我们的客服联系,谢谢合作\n" );
                                     printf("\n客服服务电话:111-11111111\n" );

                                     exit(1 );
                            }
                            printf("不过,您还有%d次机会,再试一次\n", 3- count );
                   }

         }

         return0;
}

运行结果:

【指尖的微笑】错误在所难免,希望得到大家的指正^-^

转载时保留原文的链接http://codingit.howbbs.com和http://blog.csdn.net/mirrorsbeyourself

时间: 2024-10-14 21:51:17

【牛刀小试2】密码保护的相关文章

从新浪微博和MySQL的密码保护机制谈HTTPS/SSL的必要性

虽然业界已经达成共识,在传输用户密码等需要保密的信息时,尽可能采用HTTPS/SSL协议传输.但我们还是可以看到少数没有用HTTPS/SSL加密的网站或应用.新浪微博的登录页面和MySQL是两个例子.接下来我们详细分析它们的密码传输和保存机制. 新浪微博 新浪微博的登录页面的URL是http://www.weibo.com/login.从这可以看出新浪微博的登录页面没有采用HTTPS来传输用户的密码. 如果我们对登录相关的代码感兴趣,我们可以用浏览器的调试功能看到如下图所示的代码: 从这段代码我

IDF - CTF - 牛刀小试

找学校CTF好地方,IDF实验室CTF训练营(http://ctf.idf.cn/). . 刚接触CTF.来玩下牛刀小试.AK了. . 好爽好爽.. 1.摩斯password 嘀嗒嘀嗒嘀嗒嘀嗒 时针它不停在转动 --  ---  .-.  ...  . 嘀嗒嘀嗒嘀嗒嘀嗒 小雨它拍打着水花 -.-.  ---  -..  . -->>题目是摩斯password.搜索下"摩斯password",发现了嘀(.)嗒(-)和英文字母的对比表: A ·- B -··· C -·-· D

怎样在Linux中用Vim对文件进行密码保护

Vim 有个 -x 选项,这个选项能让你在创建文件时用它来加密.一旦你运行下面的 vim 命令,你会被提示输入一个密钥: $ vim -x file.txt 警告:正在使用弱加密方法:参见 :help 'cm' 输入加密密钥:******* 再次输入相同密钥:******* 如果第二次输入的密钥无误,你就能可以修改此文件了. 被密码保护的 Vim 文件 等你修改好之后,摁 Esc 和键入 :wq 来保存及关闭文件.下次你想打开它编辑一下,你就必须像这样去输入密钥: $ vim file.txt需

Win10系统设置BIOS密码保护系统安全的方法

在win10正式版系统中许多用户会给账户设置密码,一定程序上保护系统安全,当然一些用户为了安全还想设置BIOS密码.那么Win10系统如何设置BIOS密码?BIOS密码位于系统启动前,所以BIOS密码也是比较安全的,可以预防系统被破坏.接下来小编和大家分享Win10系统设置BIOS密码保护系统安全的方法. 具体方法如下: 1.先进入Win10系统中,建议先 关闭快速启动: 2.重启电脑后,F2进入BIOS设置(这个不同电脑是不一样的,即使同一品牌的不同型号也不同,一般来说,最有可能的几个键是F2

无法导入以下密钥文件: xxxx.pfx,该密钥文件可能受密码保护 的解决方案

无法导入以下密钥文件: xxxx.pfx,该密钥文件可能受密码保护.若要更正此问题,请尝试再次导入证书,或手动将证书安装到具有以下密钥容器名称的强名称 CSP: VS_KEY_A5A29909FF6D902D 要解决此问题: 1.打开Visual Studio 命令提示(2010): 开始->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010) 2.用cd命令定位到当前密钥文件xxxx.pf

(转).net程序员转战android第二篇---牛刀小试

上篇说道如何搭建android的开发环境,这一篇我们将牛刀小试一下, 完成我们第一个android APP应用. 我就从新建项目说起吧. 首先打开Eclipse,选择顶部的File(文件)——new(新建)--选择Android Application Project. 如图,上面就是一些名称,可以随意填写,下面几个比较重要,根据不同的需求选择不同版本的SDK,这里我选择从2.2开始. 一切填写完毕就点击下一步. 如果想把工程路径改为自己制定的路径,在这里可以去掉Create Project i

IDF实验室-CTF训练营-牛刀小试CTF

自从开始玩CTF后,发现这个游戏还是比较有意思,发现了一个练习场地IDF实验室:http://ctf.idf.cn/ 刷刷里面的题目,今天完成了其中的牛刀小试,分享一下解题思路: 1. 被改错的密码 题目为: 从前有一个熊孩子入侵了一个网站的数据库,找到了管理员密码,手一抖在数据库中修改了一下,现在的密码变成了 cca9cc444e64c8116a30la00559c042b4,那个熊孩子其实就是我!肿么办求解!在线等,挺急的.. PS:答案格式wctf{管理员原密码} 第一眼看上去cca9cc

破解Excel密码保护文件

首先打开vba编辑器,输入代码: Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure passwords. Bob McCormick ' probably originator of base code algorithm modified for coverage ' of workbook structure / windows passwords and for multiple pass

在java程序中访问windows有用户名和密码保护的共享目录

在java程序中访问windows有用户名和密码保护的共享目录 Posted on 2015-11-20 14:03 云自无心水自闲 阅读(3744) 评论(0)  编辑  收藏 --> Java程序中访问拥有全部读写权限的目录相对比较简单,和普通的目录没有什么差别.但是要访问一个需要用户和密码验证的目录就需要一点点小技巧了.这里介绍一个开源的库能够比较容易的实现这一需求.1. 下载库文件: https://jcifs.samba.org/ 下载的zip文件中, 不仅包含了jar文件,还有文档和