标题:[分享]昨天一时兴起写的加密密码的小函数,来瞅瞅吧~
只看楼主
DarkHero
Rank: 1
等 级:新手上路
威 望:2
帖 子:191
专家分:0
注 册:2006-1-14
 问题点数:0 回复次数:42 
[分享]昨天一时兴起写的加密密码的小函数,来瞅瞅吧~

//请问大家还有别的思路没?

string getPW(char pwCh='*'/*密码代替符,可以自定义*/) { //返回加密的密码(password),需要 include <conio.h>
const int pwLen=17; //最大密码长度=16
char pw[pwLen]={0};
for(int i=0;i<pwLen-1;i++) {
pw[i]=getch();
if(pw[i]=='\r') {
cout<<endl;
return string(pw);
}
//else
cout<<pwCh;
}
cout<<endl;
return string(pw);
}

搜索更多相关主题的帖子: 密码 函数 string 瞅瞅 cout 
2006-03-01 21:42
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
得分:0 

有自己写代码的能力
但是写的代码奇丑无比,要注意写代码的风格

还有你这是实现加密吗?晕只是输出个符号罢了
真是,多去看看书吧!


http://kongfuziandlife. http://codeanddesign.
2006-03-02 13:21
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
DarkHero, 你不肯听啊,看了一本<<Thinking in C++>> ,就变成这样了,咳,可惜啊。
说实在的,我一看你的代码,就觉得不舒服,那个大括号的位置问题通过你的代码可以说是给大家上了生动的一课,一个很好的负面教材。

我主张采用大括号上下对齐的格式, 其内部代码缩进两格,这样的代码才能有一种层次感。
你的代码是password 形式上的实现,和加密是两个概念。没有批评你的意思,相反我觉得学习因该有这样的激情,我也写过你这样的程序。

你的代码修改如下,对内容没有改动。

我认为好的代码应该有一种美感,希望你能理解。


//返回加密的密码(password),需要 include <conio.h>
string getPW(char pwCh='*'/*密码代替符,可以自定义*/)
{
const int pwLen=17; //最大密码长度=16
char pw[pwLen]={0};
for(int i=0;i<pwLen-1;i++)
{
pw[i]=getch();
if(pw[i]=='\r')
{
cout<<endl;
return string(pw);
}
//else
cout<<pwCh;
}
cout<<endl;
return string(pw);
}



自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-03-02 21:02
DarkHero
Rank: 1
等 级:新手上路
威 望:2
帖 子:191
专家分:0
注 册:2006-1-14
得分:0 
对于您的意见,我先诚恳接受,但是,我有几个问题:
①“但是写的代码奇丑无比,要注意写代码的风格”这句是什么意思呢?
你是指 缩进 还是什么 效率上的优化?
缩进在VC、以及记事本中都是很美观的,但在这个论坛里'\t',即tab只缩进了似乎1个字符,这能怪我么
②风格有什么问题?
恐怕你是倾向于例如:
for(;;)
{
//do sth.
}
这样的风格吧,有人认为这“美观”,但是在VC中你自己慢慢手动敲空格“缩”吧,效率上就不科学;而且,BruceEckel以及一些非常著名的大师都不推荐你这种缩进方式!!!我正是听了他们的建议(当然,在书中)才这样做的。
③“还有你这是实现加密吗?晕只是输出个符号罢了”
请你注意“加密信息”与“加密密码”的区别!
不要以为函数小就大发厥词,您可以推荐个其他的加密密码(注意,不是加密信息!)的函数吗?
③“真是,多去看看书吧!"
我现在年龄不大,19岁刚到,我看的书不多,但也决不是“菜鸟一个”(最鄙视骂人菜鸟的所谓高手,哼哼,谁不是从菜中跌打
滚爬中成长起来的???)

总而言之,我对你的态度实在不敢恭维!希望您既然已经被民众推举为斑竹,那么,请尽到斑竹的职责,希望您深思!
不希望看到第二次,也许你今天心情不好,但是,没关系,我不介意,只是希望你再跟个帖子,对我的话作出些“反应”吧!

for( ; me.alive() ; ) { 淡泊名利,志存高远 } //Forever
2006-03-02 21:10
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
得分:0 

虽然话不好听
但是没有贬低你的意思,如果你坚持我没意见
记住忠言逆耳
话是不好听呵呵!但是希望这样你能记住


http://kongfuziandlife. http://codeanddesign.
2006-03-02 21:14
DarkHero
Rank: 1
等 级:新手上路
威 望:2
帖 子:191
专家分:0
注 册:2006-1-14
得分:0 

汗,刚发完,KAI就回了,我回的是zinking的帖子,
他的回复从头到尾都带有歧视性的色彩,真的让人很不舒服,关键他说的是 错错错错错错 的!


for( ; me.alive() ; ) { 淡泊名利,志存高远 } //Forever
2006-03-02 21:14
DarkHero
Rank: 1
等 级:新手上路
威 望:2
帖 子:191
专家分:0
注 册:2006-1-14
得分:0 
我以前也是你们这样摆放大括号的,但是现在已经习惯后者了,看这也很整齐,美观,在PPT上能放的代码也多了不少,省去了一些只有美观作用的空行。
个人有个人的观点,特别是“美观”这种带有主观色彩的词语,我想还是探讨些学术方面的为好~

for( ; me.alive() ; ) { 淡泊名利,志存高远 } //Forever
2006-03-02 21:17
DarkHero
Rank: 1
等 级:新手上路
威 望:2
帖 子:191
专家分:0
注 册:2006-1-14
得分:0 

My Read ComputerScience Books

-By SirX

书名 版本 语言 阅读日期 备注
C程序设计第二版 2 大1上  
离散数学结构
( Discrete Mathematical Structures)
4 English 大1上  
Java语言程序设计
(Introduction to Java Programming)
3 大1下  
计算机科学与程序设计 Java语言
(An Introduction to Computer Science and Programming Java)
3 English 大1下  
计算机组织与结构
(Computer Organization and Architecture)
4 English 大1下  
C++程序设计
(Programming in C++)
2 English 大2上 看完了,太基础,连指针都没讲
数据结构与算法分析--Java语言描述
(Data Structures & Algorithm Analysis in Java)
  大2上  
C++编程思想 第1卷:标准C++导引
(Thinking in C++ Volume One:Introduction to Standard C++)
2 大2上 非常经典
软件工程-实践者的研究方法
(Software Engineering-A practitioner's Approach)
5 大2上 没看


以上是我大2上学期(包括)以前看的书,有些看得零碎,就是没看完啊,书看得确实很少。。。

for( ; me.alive() ; ) { 淡泊名利,志存高远 } //Forever
2006-03-02 21:20
DarkHero
Rank: 1
等 级:新手上路
威 望:2
帖 子:191
专家分:0
注 册:2006-1-14
得分:0 
My WillRead Books

《The C++ Programming Language》和《Inside The C++ Object Model》
《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准
《Effective C++》和《More Effective C++》以及《Exceptional C++》
《程序设计实践》,并严格的按照其要求去做
《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》
《面向对象软件构造(Object-Oriented Software Construction)》
《设计模式(Design Patterns)》
《The Art of Computer Programming》


for( ; me.alive() ; ) { 淡泊名利,志存高远 } //Forever
2006-03-02 21:20
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
DarkHero,

个人的风格是个人的问题,不过如果你进入一家公司,那么你必须依照公司的风格。几乎所有的正规的公司或开发小组都有固定的风格。

当然程序员也有选择公司的自由。当今世界对于这个括号的位置讨论几乎已经形成了两大阵营。当然两大阵营内都有顶尖高手,相对来讲,采用上下对齐方式的为多。Microsoft 采用的是上下对齐的方式, Sun采用的是后一种方式。你愿意选择哪种当然是你的个人行为。

说一句题外话,有人说,之所以采用大括号紧跟函数名,是为了节约纸张。也有人说是Linux阵营对Microsoft的一种反对的表示。

其余的不想多说,请君自便吧。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-03-02 21:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-47881-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.114370 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved