• 12281阅读
  • 8回复

最近密码学作业,用QT写了,呵呵 [复制链接]

上一主题 下一主题
离线xzilla
 

只看楼主 倒序阅读 楼主  发表于: 2009-06-01
写的是一个文件加密小工具,用的是自己写DES加密算法,编程学得有点糟糕,算法不快。用的是QT 4.5.1,这个是我的第一个QT程序,写的糟糕还请高手见谅,呵呵。
注:一个附件是windows下可用的,一个是Linux下可用的,具体看文件名咯~
[ 此帖被xzilla在2009-06-01 21:26重新编辑 ]
附件: des_simple_linux.tar.gz (388 K) 下载次数:205
附件: des_simple_windows.tar.gz (388 K) 下载次数:343
离线bhwbj
只看该作者 1楼 发表于: 2009-06-01
下来跑跑.

怎么我一加密 就提示:打开文件失败?

密钥是多少?我自己输入的123456可以么?
[ 此帖被bhwbj在2009-06-01 13:59重新编辑 ]
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线xzilla

只看该作者 2楼 发表于: 2009-06-01
貌似在Linux下会出这个问题
写的时候为了考虑到老师们用的Windows就一直在Windows下弄的,没考虑Linux的运行效果……我去改改~
离线xzilla

只看该作者 3楼 发表于: 2009-06-01
引用第1楼bhwbj于2009-06-01 13:50发表的  :
下来跑跑.
怎么我一加密 就提示:打开文件失败?
密钥是多少?我自己输入的123456可以么?

密钥是自己定的,解密的时候就用加密输入的密钥

修正了一下,重新上传了一个Linux版本的,原来是拖放中的mimeData->urls()造成的错误
windows中通过QDropEvent里的mimeData->urls()返回到的值形如  " /c:/xxxx/xxxx/xxxx.cc"
而Linux中则是"/xxx/xxx/xxx"
估计是为了保持一致吧,而在windows中若通过这个urls()返回的值要把前面的斜线去掉,这样得到的值才能给QFile使其正确打开文件……
而Linux这样搞就打不开文件了。
这样一来这么一个简单程序还得针对不同的系统修改了……哎

不知道有什么别的方法能取到通过拖放得到的文件地址和文件名而不用纠结这种问题,求教高人……
[ 此帖被xzilla在2009-06-01 23:38重新编辑 ]
离线haulm

只看该作者 4楼 发表于: 2009-06-02
javascript 不也这样,其实已经很不错了,赞楼主一个。
离线xstiancai
只看该作者 5楼 发表于: 2009-06-07
你的QCryptographicHash::hash(pwd_array,QCryptographicHash::Md5);不是调用的MD5算法么  怎么说是DES呢?!
离线xzilla

只看该作者 6楼 发表于: 2009-06-07
引用第5楼xstiancai于2009-06-07 19:01发表的  :
你的QCryptographicHash::hash(pwd_array,QCryptographicHash::Md5);不是调用的MD5算法么  怎么说是DES呢?!


这个MD5是用来把密钥进行哈希的,以确保输入任意长度的东西都能变成适合DES使用的64位长度密钥
DES算法的调用在mainwindow.cpp里面void MainWindow::do_dec()和void MainWindow::do_enc(),具体算法实现在des.h里面……
不过话说回来,MD5是单向散列函数,加密是不可逆的啊……
就这样了~
离线liumangtu
只看该作者 7楼 发表于: 2009-06-11
可以自己设定密码吗?下不下来呀!
离线limeir
只看该作者 8楼 发表于: 2009-08-31
谢谢你的东东,我正好要用到,可不可以加个QQ:308373053,向你学习学习
Love is a butterfly!
快速回复
限100 字节
 
上一个 下一个