main.html

来自「RSA公钥加密的基本实现 bmp灰度图片加解密操作包括 RSA 的加减密算法; 」· HTML 代码 · 共 218 行 · 第 1/3 页

HTML
218
字号
    cout&lt;&lt;"The a*b%n_fai is:"&lt;&lt;a*b%n_fai&lt;&lt;endl;*/</span><span class="style2">//En_Decrypt function    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"******Welcome to my RSA design******"</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"I will encrypt(decrypt) the file Image.bmp"</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;    </span><span class="style11">Encrypt</span><span class="style10">(</span><span class="style11">p</span><span class="style10">, </span><span class="style11">n</span><span class="style10">, </span><span class="style11">n_fai</span><span class="style10">, </span><span class="style11">b</span><span class="style10">, </span><span class="style11">a</span><span class="style10">);    </span><span class="style11">Decrypt</span><span class="style10">(</span><span class="style11">p</span><span class="style10">, </span><span class="style11">n</span><span class="style10">, </span><span class="style11">n_fai</span><span class="style10">, </span><span class="style11">b</span><span class="style10">, </span><span class="style11">a</span><span class="style10">);    </span><span class="style5">return </span><span class="style4">0</span><span class="style10">;}</span><span class="style5">long </span><span class="style11">Encrypt</span><span class="style10">(</span><span class="style5">long </span><span class="style10">*</span><span class="style11">p</span><span class="style10">, </span><span class="style5">long </span><span class="style11">n</span><span class="style10">, </span><span class="style5">long </span><span class="style11">n_fai</span><span class="style10">, </span><span class="style5">long </span><span class="style11">b</span><span class="style10">, </span><span class="style5">long </span><span class="style11">a</span><span class="style10">)</span><span class="style2">//En_Decrypt function</span><span class="style10">{    </span><span class="style5">long </span><span class="style11">plain</span><span class="style10">,</span><span class="style11">cipher</span><span class="style10">,</span><span class="style11">header</span><span class="style10">[</span><span class="style4">62</span><span class="style10">];</span><span class="style2">//    int len;    </span><span class="style11">FILE </span><span class="style10">*</span><span class="style11">iobmp</span><span class="style10">=</span><span class="style11">fopen</span><span class="style10">(</span><span class="style6">"Image.bmp"</span><span class="style10">,</span><span class="style6">"rb"</span><span class="style10">);    </span><span class="style11">FILE </span><span class="style10">*</span><span class="style11">RSAbmp</span><span class="style10">=</span><span class="style11">fopen</span><span class="style10">(</span><span class="style6">"RSA.bmp"</span><span class="style10">,</span><span class="style6">"wb"</span><span class="style10">);    </span><span class="style5">if </span><span class="style10">(</span><span class="style11">iobmp</span><span class="style10">==</span><span class="style11">NULL</span><span class="style10">)    {        </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"Open File Image.bmp Error!"</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;        </span><span class="style5">return </span><span class="style4">0</span><span class="style10">;    }    </span><span class="style5">if </span><span class="style10">(</span><span class="style11">RSAbmp</span><span class="style10">==</span><span class="style11">NULL</span><span class="style10">)    {        </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"Create File RSA.bmp Error!"</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;        </span><span class="style5">return </span><span class="style4">0</span><span class="style10">;    }    </span><span class="style11">fread</span><span class="style10">(</span><span class="style11">header</span><span class="style10">,</span><span class="style5">sizeof</span><span class="style10">(</span><span class="style5">char</span><span class="style10">),</span><span class="style4">62</span><span class="style10">,</span><span class="style11">iobmp</span><span class="style10">);    </span><span class="style11">fwrite</span><span class="style10">(</span><span class="style11">header</span><span class="style10">,</span><span class="style5">sizeof</span><span class="style10">(</span><span class="style5">char</span><span class="style10">),</span><span class="style4">62</span><span class="style10">,</span><span class="style11">RSAbmp</span><span class="style10">);    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"Encrypting..."</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">&lt;&lt;</span><span class="style6">"Please Waiting..."</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;    </span><span class="style5">long </span><span class="style11">b_Out</span><span class="style10">[</span><span class="style4">100</span><span class="style10">];    </span><span class="style5">long </span><span class="style11">b_bits</span><span class="style10">=</span><span class="style11">NumberToBinary</span><span class="style10">(</span><span class="style11">b_Out</span><span class="style10">, </span><span class="style11">b</span><span class="style10">);    </span><span class="style5">while </span><span class="style10">((</span><span class="style11">plain</span><span class="style10">=</span><span class="style11">fgetc</span><span class="style10">(</span><span class="style11">iobmp</span><span class="style10">))!=</span><span class="style11">EOF</span><span class="style10">)    {</span><span class="style2">//        printf("%ld\n",plain);        </span><span class="style11">plain</span><span class="style10">+=</span><span class="style4">128</span><span class="style10">;        </span><span class="style11">cipher</span><span class="style10">=</span><span class="style11">SquareMultiply</span><span class="style10">(</span><span class="style11">b_Out</span><span class="style10">, </span><span class="style11">n</span><span class="style10">, </span><span class="style11">plain</span><span class="style10">, </span><span class="style11">b_bits</span><span class="style10">);        </span><span class="style11">fwrite</span><span class="style10">(&amp;</span><span class="style11">cipher</span><span class="style10">,</span><span class="style5">sizeof</span><span class="style10">(</span><span class="style11">cipher</span><span class="style10">),</span><span class="style4">1</span><span class="style10">,</span><span class="style11">RSAbmp</span><span class="style10">);    }    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"Encrypting Finish..."</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">&lt;&lt;</span><span class="style6">"Devrypting ..."</span><span class="style10">&lt;&lt;</span><span class="style6">"Please Waiting..."</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;    </span><span class="style11">fclose</span><span class="style10">(</span><span class="style11">iobmp</span><span class="style10">);    </span><span class="style11">fclose</span><span class="style10">(</span><span class="style11">RSAbmp</span><span class="style10">);    </span><span class="style5">return </span><span class="style4">0</span><span class="style10">;}</span><span class="style5">long </span><span class="style11">Decrypt</span><span class="style10">(</span><span class="style5">long </span><span class="style10">*</span><span class="style11">p</span><span class="style10">, </span><span class="style5">long </span><span class="style11">n</span><span class="style10">, </span><span class="style5">long </span><span class="style11">n_fai</span><span class="style10">, </span><span class="style5">long </span><span class="style11">b</span><span class="style10">, </span><span class="style5">long </span><span class="style11">a</span><span class="style10">)</span><span class="style2">//En_Decrypt function</span><span class="style10">{    </span><span class="style5">long </span><span class="style11">plain</span><span class="style10">,</span><span class="style11">cipher</span><span class="style10">,</span><span class="style11">header</span><span class="style10">[</span><span class="style4">62</span><span class="style10">];    </span><span class="style11">FILE </span><span class="style10">*</span><span class="style11">RSAbmp</span><span class="style10">=</span><span class="style11">fopen</span><span class="style10">(</span><span class="style6">"RSA.bmp"</span><span class="style10">,</span><span class="style6">"rb"</span><span class="style10">);    </span><span class="style11">FILE </span><span class="style10">*</span><span class="style11">RSAbackbmp</span><span class="style10">=</span><span class="style11">fopen</span><span class="style10">(</span><span class="style6">"RSAback.bmp"</span><span class="style10">,</span><span class="style6">"wb"</span><span class="style10">);    </span><span class="style5">if </span><span class="style10">(</span><span class="style11">RSAbmp</span><span class="style10">==</span><span class="style11">NULL</span><span class="style10">)    {        </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"Open CipherFile RSA.bmp Error!"</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;        </span><span class="style5">return </span><span class="style4">0</span><span class="style10">;    }    </span><span class="style5">if </span><span class="style10">(</span><span class="style11">RSAbackbmp</span><span class="style10">==</span><span class="style11">NULL</span><span class="style10">)    {        </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"Create PlainBackFile RSAback.bmp Error!"</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;        </span><span class="style5">return </span><span class="style4">0</span><span class="style10">;    }    </span><span class="style11">fread</span><span class="style10">(</span><span class="style11">header</span><span class="style10">,</span><span class="style5">sizeof</span><span class="style10">(</span><span class="style5">char</span><span class="style10">),</span><span class="style4">62</span><span class="style10">,</span><span class="style11">RSAbmp</span><span class="style10">);    </span><span class="style11">fwrite</span><span class="style10">(</span><span class="style11">header</span><span class="style10">,</span><span class="style5">sizeof</span><span class="style10">(</span><span class="style5">char</span><span class="style10">),</span><span class="style4">62</span><span class="style10">,</span><span class="style11">RSAbackbmp</span><span class="style10">);    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"Encrypting..."</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">&lt;&lt;</span><span class="style6">"Please Waiting..."</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;    </span><span class="style5">long </span><span class="style11">a_Out</span><span class="style10">[</span><span class="style4">100</span><span class="style10">];    </span><span class="style5">long </span><span class="style11">a_bits</span><span class="style10">=</span><span class="style11">NumberToBinary</span><span class="style10">(</span><span class="style11">a_Out</span><span class="style10">, </span><span class="style11">a</span><span class="style10">);    </span><span class="style5">while </span><span class="style10">(</span><span class="style11">fread</span><span class="style10">(&amp;</span><span class="style11">cipher</span><span class="style10">,</span><span class="style5">sizeof</span><span class="style10">(</span><span class="style11">cipher</span><span class="style10">),</span><span class="style4">1</span><span class="style10">,</span><span class="style11">RSAbmp</span><span class="style10">)!=</span><span class="style4">0</span><span class="style10">)    {        </span><span class="style11">plain</span><span class="style10">=</span><span class="style11">SquareMultiply</span><span class="style10">(</span><span class="style11">a_Out</span><span class="style10">, </span><span class="style11">n</span><span class="style10">, </span><span class="style11">cipher</span><span class="style10">, </span><span class="style11">a_bits</span><span class="style10">);        </span><span class="style11">fputc</span><span class="style10">(</span><span class="style11">plain</span><span class="style10">-</span><span class="style4">128</span><span class="style10">,</span><span class="style11">RSAbackbmp</span><span class="style10">);    }    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"Decrypt Finish"</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;    </span><span class="style11">fclose</span><span class="style10">(</span><span class="style11">RSAbmp</span><span class="style10">);    </span><span class="style11">fclose</span><span class="style10">(</span><span class="style11">RSAbackbmp</span><span class="style10">);    </span><span class="style5">return </span><span class="style4">0</span><span class="style10">;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?