zoukankan      html  css  js  c++  java
  • 对文件进行加密

    以二进制流 写入加密二进制串+Image = 新文件

    解密时  读取同样长度的二进制+Image  即可解密

    同时保存Image时要注意文件头问题,不能直接以二进制流写入!

    不同格式的文件有着不同的文件头!

    新文件,新思维

     

    void MainWindow::on_pushButton_clicked()
    {
        QStringList files = QFileDialog::getOpenFileNames(this,QDir::currentPath(),"","Images (*.png *.bmp *.jpg)");
        foreach (QString filename, files) {
            qDebug()<<filename;
            QImage pImage(filename);
    
    
    
    
            QFile writefile(filename+".my");
            writefile.open(QIODevice::WriteOnly);
            QDataStream data(&writefile);
    
    
            data << (quint32)0xA0B0C0D0<<pImage;
    
    
    
    
            qDebug()<< writefile.size();
    
    
            writefile.flush();
    
    
    
    
        }
        ui->label->setText("Encryption success");
    }
    
    
    //
    
    
    void MainWindow::on_pushButton_2_clicked()
    {
        QStringList files = QFileDialog::getOpenFileNames(this,QDir::currentPath(),"","*.my");
    
    
        foreach (QString filename, files) {
            qDebug()<<filename;
    
    
            QImage pImage;
            quint32 n;
    
    
            QFile readfile(filename);
            readfile.open(QIODevice::ReadOnly);
            QDataStream data(&readfile);
            data>> n >>pImage;
    
    
            pImage.save(filename+".jpg");
            ui->label->setText("Decryption  is runing ");
    
    
    
    
        }
    ui->label->setText("Decryption success");
    }
    
    
    
  • 相关阅读:
    MySql8安装使用中的一些注意
    如何在CentOS 8主机上安装Nginx Web服务器
    centos安装sqlserver
    VSCode快捷键
    C#中的委托
    Winform加载loading界面
    JayRock的一些用法:json and json rpc for .Net
    winform picturebox控件 定时让图片轮播
    sql server创建存储过程
    ftp上传单一文件示例
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/4458225.html
Copyright © 2011-2022 走看看