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");
    }
    
    
    
  • 相关阅读:
    清空map
    读取图片的DLL
    利用SysMailer发送邮件
    使用维度显示
    获取用户所属仓库与库位 Owner 所属仓位
    使用电子邮件模板
    使用SQL获取TableID
    导入数据到excel
    ax附件存取研究
    两步转移 过账
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/4458225.html
Copyright © 2011-2022 走看看