📄 main.html
字号:
cout<<"The a*b%n_fai is:"<<a*b%n_fai<<endl;*/</span><span class="style2">//En_Decrypt function </span><span class="style11">cout</span><span class="style10"><<</span><span class="style6">"******Welcome to my RSA design******"</span><span class="style10"><<</span><span class="style11">endl</span><span class="style10">; </span><span class="style11">cout</span><span class="style10"><<</span><span class="style6">"I will encrypt(decrypt) the file Image.bmp"</span><span class="style10"><<</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"><<</span><span class="style6">"Open File Image.bmp Error!"</span><span class="style10"><<</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"><<</span><span class="style6">"Create File RSA.bmp Error!"</span><span class="style10"><<</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"><<</span><span class="style6">"Encrypting..."</span><span class="style10"><<</span><span class="style11">endl</span><span class="style10"><<</span><span class="style6">"Please Waiting..."</span><span class="style10"><<</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">(&</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"><<</span><span class="style6">"Encrypting Finish..."</span><span class="style10"><<</span><span class="style11">endl</span><span class="style10"><<</span><span class="style6">"Devrypting ..."</span><span class="style10"><<</span><span class="style6">"Please Waiting..."</span><span class="style10"><<</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"><<</span><span class="style6">"Open CipherFile RSA.bmp Error!"</span><span class="style10"><<</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"><<</span><span class="style6">"Create PlainBackFile RSAback.bmp Error!"</span><span class="style10"><<</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"><<</span><span class="style6">"Encrypting..."</span><span class="style10"><<</span><span class="style11">endl</span><span class="style10"><<</span><span class="style6">"Please Waiting..."</span><span class="style10"><<</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">(&</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"><<</span><span class="style6">"Decrypt Finish"</span><span class="style10"><<</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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -