`
cuker919
  • 浏览: 97678 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java对文件压缩/加密/解密/解压缩的例子,DES/RSA

 
阅读更多
RSA压缩加密/解压缩解密
  1. importjava.io.File;
  2. importjava.io.FileInputStream;
  3. importjava.io.FileOutputStream;
  4. importjava.io.ObjectInputStream;
  5. importjava.io.ObjectOutputStream;
  6. importjava.security.Key;
  7. importjava.security.KeyPair;
  8. importjava.security.KeyPairGenerator;
  9. importjava.security.PrivateKey;
  10. importjava.security.PublicKey;
  11. importjava.security.SecureRandom;
  12. importjava.util.Properties;
  13. importjava.util.UUID;
  14. importjava.util.zip.ZipEntry;
  15. importjava.util.zip.ZipInputStream;
  16. importjava.util.zip.ZipOutputStream;

  17. importjavax.crypto.Cipher;

  18. /**
  19. *对文件压缩加密/解密解压缩对象类
  20. *
  21. */
  22. publicclassZipEncrypt{
  23. privatestaticPrivateKeyprivateKey;
  24. privatestaticPublicKeypublicKey;
  25. privatestaticvoiddirectoryZip(ZipOutputStreamout,Filef,Stringbase)
  26. throwsException{
  27. //如果传入的是目录
  28. if(f.isDirectory()){
  29. File[]fl=f.listFiles();
  30. //创建压缩的子目录
  31. out.putNextEntry(newZipEntry(base+"/"));
  32. if(base.length()==0){
  33. base="";
  34. }else{
  35. base=base+"/";
  36. }
  37. for(inti=0;i<fl.length;i++){
  38. directoryZip(out,fl[i],base+fl[i].getName());
  39. }
  40. }else{
  41. //把压缩文件加入rar中
  42. out.putNextEntry(newZipEntry(base));
  43. FileInputStreamin=newFileInputStream(f);
  44. byte[]bb=newbyte[2048];
  45. intaa=0;
  46. while((aa=in.read(bb))!=-1){
  47. out.write(bb,0,aa);
  48. }
  49. in.close();
  50. }
  51. }

  52. /**
  53. *压缩文件
  54. *@paramzos
  55. *@paramfile
  56. *@throwsException
  57. */
  58. privatestaticvoidfileZip(ZipOutputStreamzos,Filefile)
  59. throwsException{
  60. if(file.isFile()){
  61. zos.putNextEntry(newZipEntry(file.getName()));
  62. FileInputStreamfis=newFileInputStream(file);
  63. byte[]bb=newbyte[2048];
  64. intaa=0;
  65. while((aa=fis.read(bb))!=-1){
  66. zos.write(bb,0,aa);
  67. }
  68. fis.close();
  69. System.out.println(file.getName());
  70. }else{
  71. directoryZip(zos,file,"");
  72. }
  73. }

  74. /**
  75. *解压缩文件
  76. *
  77. *@paramzis
  78. *@paramfile
  79. *@throwsException
  80. */
  81. privatestaticvoidfileUnZip(ZipInputStreamzis,Filefile)
  82. throwsException{
  83. ZipEntryzip=zis.getNextEntry();
  84. if(zip==null)
  85. return;
  86. Stringname=zip.getName();
  87. Filef=newFile(file.getAbsolutePath()+"/"+name);
  88. if(zip.isDirectory()){
  89. f.mkdirs();
  90. fileUnZip(zis,file);
  91. }else{
  92. f.createNewFile();
  93. FileOutputStreamfos=newFileOutputStream(f);
  94. byteb[]=newbyte[2048];
  95. intaa=0;
  96. while((aa=zis.read(b))!=-1){
  97. fos.write(b,0,aa);
  98. }
  99. fos.close();
  100. fileUnZip(zis,file);
  101. }
  102. }

  103. /**
  104. *对directory目录下的文件压缩,保存为指定的文件zipFile
  105. *
  106. *@paramdirectory
  107. *@paramzipFile
  108. */
  109. privatestaticvoidzip(Stringdirectory,StringzipFile){
  110. try{
  111. ZipOutputStreamzos=newZipOutputStream(newFileOutputStream(
  112. zipFile));
  113. fileZip(zos,newFile(directory));
  114. zos.close();
  115. }catch(Exceptione){
  116. e.printStackTrace();
  117. }
  118. }

  119. /**
  120. *解压缩文件zipFile保存在directory目录下
  121. *
  122. *@paramdirectory
  123. *@paramzipFile
  124. */
  125. privatestaticvoidunZip(Stringdirectory,StringzipFile){
  126. try{
  127. ZipInputStreamzis=newZipInputStream(
  128. newFileInputStream(zipFile));
  129. Filef=newFile(directory);
  130. f.mkdirs();
  131. fileUnZip(zis,f);
  132. zis.close();
  133. }catch(Exceptione){
  134. e.printStackTrace();
  135. }
  136. }

  137. /**
  138. *根据key的路径文件获得持久化成文件的key
  139. *<P>
  140. *例子:RsaEncrypt.getKey("c:/systemkey/private.key");
  141. *
  142. *@paramkeyPath
  143. *@return
  144. */
  145. publicstaticKeygetKey(StringkeyPath)throwsException{
  146. Keykey=null;
  147. FileInputStreamfis=newFileInputStream(keyPath);
  148. ObjectInputStreamofs=newObjectInputStream(fis);
  149. key=(Key)ofs.readObject();
  150. returnkey;
  151. }

  152. /**
  153. *把文件srcFile加密后存储为destFile
  154. *
  155. *@paramsrcFile
  156. *@paramdestFile
  157. */
  158. privatestaticvoidencrypt(StringsrcFile,StringdestFile,KeyprivateKey)
  159. throwsException{
  160. Ciphercipher=Cipher.getInstance("RSA");
  161. cipher.init(Cipher.ENCRYPT_MODE,privateKey);
  162. FileInputStreamfis=newFileInputStream(srcFile);
  163. FileOutputStreamfos=newFileOutputStream(destFile);
  164. byte[]b=newbyte[53];
  165. while(fis.read(b)!=-1){
  166. fos.write(cipher.doFinal(b));
  167. }
  168. fos.close();
  169. fis.close();
  170. }

  171. /**
  172. *把文件srcFile解密后存储为destFile
  173. *
  174. *@paramsrcFile
  175. *@paramdestFile
  176. *@paramprivateKey
  177. *@throwsException
  178. */
  179. privatestaticvoiddecrypt(StringsrcFile,StringdestFile,KeyprivateKey)
  180. throwsException{
  181. Ciphercipher=Cipher.getInstance("RSA");
  182. cipher.init(Cipher.DECRYPT_MODE,privateKey);
  183. FileInputStreamfis=newFileInputStream(srcFile);
  184. FileOutputStreamfos=newFileOutputStream(destFile);
  185. byte[]b=newbyte[64];
  186. while(fis.read(b)!=-1){
  187. fos.write(cipher.doFinal(b));
  188. }
  189. fos.close();
  190. fis.close();
  191. }

  192. /**
  193. *对目录srcFile下的所有文件目录进行先压缩后操作,然后保存为destfile
  194. *
  195. *@paramsrcFile
  196. *要操作的目录如c:/test/test
  197. *@paramdestfile
  198. *压缩加密后存放的文件名如c:/加密压缩文件.zip
  199. *@paramkeyfile
  200. *公钥存放地点
  201. */
  202. publicstaticvoidencryptZip(StringsrcFile,Stringdestfile,Stringkeyfile)throwsException{
  203. SecureRandomsr=newSecureRandom();
  204. KeyPairGeneratorkg=KeyPairGenerator.getInstance("RSA");
  205. kg.initialize(512,sr);
  206. //产生新密钥对
  207. KeyPairkp=kg.generateKeyPair();
  208. //获得私匙
  209. ZipEncrypt.privateKey=kp.getPrivate();
  210. //获得公钥
  211. ZipEncrypt.publicKey=kp.getPublic();
  212. Filef=newFile(keyfile);
  213. f.createNewFile();
  214. FileOutputStreamfos=newFileOutputStream(f);
  215. ObjectOutputStreamdos=newObjectOutputStream(fos);
  216. dos.writeObject(ZipEncrypt.publicKey);
  217. Filetemp=newFile(UUID.randomUUID().toString()+".zip");
  218. temp.deleteOnExit();
  219. //先压缩文件
  220. zip(srcFile,temp.getAbsolutePath());
  221. //对文件加密
  222. encrypt(temp.getAbsolutePath(),destfile,privateKey);
  223. temp.delete();
  224. }

  225. /**
  226. *对文件srcfile进行先解密后解压缩,然后解压缩到目录destfile下
  227. *
  228. *@paramsrcfile
  229. *要解密和解压缩的文件名如c:/目标.zip
  230. *@paramdestfile
  231. *解压缩后的目录如c:/abc
  232. *@parampublicKey
  233. *公钥
  234. */
  235. publicstaticvoiddecryptUnzip(Stringsrcfile,Stringdestfile,
  236. KeypublicKey)throwsException{
  237. //先对文件解密
  238. Filetemp=newFile(UUID.randomUUID().toString()+".zip");
  239. temp.deleteOnExit();
  240. decrypt(srcfile,temp.getAbsolutePath(),publicKey);
  241. //解压缩
  242. unZip(destfile,temp.getAbsolutePath());
  243. temp.delete();
  244. }

  245. publicstaticvoidmain(Stringargs[])throwsException{
  246. Filef=newFile(".");
  247. Propertiesprop=newProperties();;
  248. FileInputStreamfis=newFileInputStream("./conf.properties");
  249. prop.load(fis);
  250. //要压缩的目录
  251. StringsrcPath=prop.getProperty("SRC_PATH");
  252. //压缩后的存放文件
  253. StringdestZip=prop.getProperty("DEST_FILE");
  254. //压缩加密后的publickey
  255. Stringkeyfile=prop.getProperty("KEY_FILE");
  256. ZipEncrypt.encryptZip(srcPath,destZip,keyfile);
  257. /*解密
  258. ZipEncrypt.decryptUnzip("e:/comXXX/comxxxx.zip","d:/comxxx",ZipEncrypt
  259. .getKey("e:/comXXX/public.key"));
  260. */
  261. }
  262. }
AES压缩加密/解压缩解密,网上一般用base64来对byte[]编码,其实不需要,指定AES/CBC/PKCS5Padding来指定加密解密时候位数不对的情况下,用pkcs5padding来附加位数,不过这个时候读解密的文件的时候,要多读16位的验证位就不会报异常
  1. importjava.io.File;
  2. importjava.io.FileInputStream;
  3. importjava.io.FileOutputStream;
  4. importjava.io.ObjectInputStream;
  5. importjava.security.Key;
  6. importjava.security.SecureRandom;
  7. importjava.util.UUID;
  8. importjava.util.zip.ZipEntry;
  9. importjava.util.zip.ZipInputStream;
  10. importjava.util.zip.ZipOutputStream;

  11. importjavax.crypto.Cipher;
  12. importjavax.crypto.KeyGenerator;
  13. importjavax.crypto.SecretKey;
  14. importjavax.crypto.spec.IvParameterSpec;
  15. importjavax.crypto.spec.SecretKeySpec;

  16. /**
  17. *对文件加密/解密和压缩/解压缩对象类
  18. *@author赵成明
  19. */
  20. publicclassZipEncrypt{
  21. privatevoiddirectoryZip(ZipOutputStreamout,Filef,Stringbase)
  22. throwsException{
  23. //如果传入的是目录
  24. if(f.isDirectory()){
  25. File[]fl=f.listFiles();
  26. //创建压缩的子目录
  27. out.putNextEntry(newZipEntry(base+"/"));
  28. if(base.length()==0){
  29. base="";
  30. }else{
  31. base=base+"/";
  32. }
  33. for(inti=0;i<fl.length;i++){
  34. directoryZip(out,fl[i],base+fl[i].getName());
  35. }
  36. }else{
  37. //把压缩文件加入rar中
  38. out.putNextEntry(newZipEntry(base));
  39. FileInputStreamin=newFileInputStream(f);
  40. byte[]bb=newbyte[2048];
  41. intaa=0;
  42. while((aa=in.read(bb))!=-1){
  43. out.write(bb,0,aa);
  44. }
  45. in.close();
  46. }
  47. }

  48. /**
  49. *压缩文件
  50. *@paramzos
  51. *@paramfile
  52. *@throwsException
  53. */
  54. privatevoidfileZip(ZipOutputStreamzos,Filefile)
  55. throwsException{
  56. if(file.isFile()){
  57. zos.putNextEntry(newZipEntry(file.getName()));
  58. FileInputStreamfis=newFileInputStream(file);
  59. byte[]bb=newbyte[2048];
  60. intaa=0;
  61. while((aa=fis.read(bb))!=-1){
  62. zos.write(bb,0,aa);
  63. }
  64. fis.close();
  65. System.out.println(file.getName());
  66. }else{
  67. directoryZip(zos,file,"");
  68. }
  69. }

  70. /**
  71. *解压缩文件
  72. *
  73. *@paramzis
  74. *@paramfile
  75. *@throwsException
  76. */
  77. privatevoidfileUnZip(ZipInputStreamzis,Filefile)
  78. throwsException{
  79. ZipEntryzip=zis.getNextEntry();
  80. if(zip==null)
  81. return;
  82. Stringname=zip.getName();
  83. Filef=newFile(file.getAbsolutePath()+"/"+name);
  84. if(zip.isDirectory()){
  85. f.mkdirs();
  86. fileUnZip(zis,file);
  87. }else{
  88. f.createNewFile();
  89. FileOutputStreamfos=newFileOutputStream(f);
  90. byteb[]=newbyte[2048];
  91. intaa=0;
  92. while((aa=zis.read(b))!=-1){
  93. fos.write(b,0,aa);
  94. }
  95. fos.close();
  96. fileUnZip(zis,file);
  97. }
  98. }

  99. /**
  100. *对directory目录下的文件压缩,保存为指定的文件zipFile
  101. *
  102. *@paramdirectory
  103. *@paramzipFile
  104. */
  105. privatevoidzip(Stringdirectory,StringzipFile){
  106. try{
  107. ZipOutputStreamzos=newZipOutputStream(newFileOutputStream(
  108. zipFile));
  109. fileZip(zos,newFile(directory));
  110. zos.close();
  111. }catch(Exceptione){
  112. e.printStackTrace();
  113. }
  114. }

  115. /**
  116. *解压缩文件zipFile保存在directory目录下
  117. *
  118. *@paramdirectory
  119. *@paramzipFile
  120. */
  121. privatevoidunZip(Stringdirectory,StringzipFile){
  122. try{
  123. ZipInputStreamzis=newZipInputStream(newFileInputStream(zipFile));
  124. Filef=newFile(directory);
  125. f.mkdirs();
  126. fileUnZip(zis,f);
  127. zis.close();
  128. }catch(Exceptione){
  129. e.printStackTrace();
  130. }
  131. }

  132. /**
  133. *根据key的路径文件获得持久化成文件的key
  134. *<P>
  135. *例子:RsaEncrypt.getKey("c:/systemkey/private.key");
  136. *
  137. *@paramkeyPath
  138. *@return
  139. */
  140. privateKeygetKey(StringkeyPath)throwsException{
  141. FileInputStreamfis=newFileInputStream(keyPath);
  142. byte[]b=newbyte[16];
  143. fis.read(b);
  144. SecretKeySpecdks=newSecretKeySpec(b,"AES");
  145. fis.close();
  146. returndks;
  147. }

  148. /**
  149. *把文件srcFile加密后存储为destFile
  150. *
  151. *@paramsrcFile
  152. *@paramdestFile
  153. */
  154. privatevoidencrypt(StringsrcFile,StringdestFile,KeyprivateKey)
  155. throwsException{
  156. SecureRandomsr=newSecureRandom();
  157. Ciphercipher=Cipher.getInstance("AES/CBC/PKCS5Padding");
  158. IvParameterSpecspec=newIvParameterSpec(privateKey.getEncoded());
  159. cipher.init(Cipher.ENCRYPT_MODE,privateKey,spec,sr);
  160. FileInputStreamfis=newFileInputStream(srcFile);
  161. FileOutputStreamfos=newFileOutputStream(destFile);
  162. byte[]b=newbyte[2048];
  163. while(fis.read(b)!=-1){
  164. fos.write(cipher.doFinal(b));
  165. }
  166. fos.close();
  167. fis.close();
  168. }

  169. /**
  170. *把文件srcFile解密后存储为destFile
  171. *
  172. *@paramsrcFile
  173. *@paramdestFile
  174. *@paramprivateKey
  175. *@throwsException
  176. */
  177. privatevoiddecrypt(StringsrcFile,StringdestFile,KeyprivateKey)
  178. throwsException{
  179. SecureRandomsr=newSecureRandom();
  180. Cipherciphers=Cipher.getInstance("AES/CBC/PKCS5Padding");
  181. IvParameterSpecspec=newIvParameterSpec(privateKey.getEncoded());
  182. ciphers.init(Cipher.DECRYPT_MODE,privateKey,spec,sr);
  183. FileInputStreamfis=newFileInputStream(srcFile);
  184. FileOutputStreamfos=newFileOutputStream(destFile);
  185. byte[]b=newbyte[2064];
  186. while(fis.read(b)!=-1){
  187. fos.write(ciphers.doFinal(b));
  188. }
  189. fos.close();
  190. fis.close();
  191. }

  192. /**
  193. *对目录srcFile下的所有文件目录进行先压缩后操作,然后保存为destfile
  194. *
  195. *@paramsrcFile
  196. *要操作的目录如c:/test/test
  197. *@paramdestfile
  198. *压缩加密后存放的文件名如c:/加密压缩文件.zip
  199. *@paramkeyfile
  200. *公钥存放地点
  201. */
  202. publicvoidencryptZip(StringsrcFile,Stringdestfile,Stringkeyfile)throwsException{
  203. SecureRandomsr=newSecureRandom();
  204. KeyGeneratorkg=KeyGenerator.getInstance("AES");
  205. kg.init(128,sr);
  206. SecretKeykey=kg.generateKey();
  207. Filef=newFile(keyfile);
  208. if(!f.getParentFile().exists())
  209. f.getParentFile().mkdirs();
  210. f.createNewFile();
  211. FileOutputStreamfos=newFileOutputStream(f);
  212. fos.write(key.getEncoded());
  213. Filetemp=newFile(UUID.randomUUID().toString()+".zip");
  214. temp.deleteOnExit();
  215. //先压缩文件
  216. zip(srcFile,temp.getAbsolutePath());
  217. //对文件加密
  218. encrypt(temp.getAbsolutePath(),destfile,key);
  219. temp.delete();
  220. }

  221. /**
  222. *对文件srcfile进行先解密后解压缩,然后解压缩到目录destfile下
  223. *
  224. *@paramsrcfile
  225. *要解密和解压缩的文件名如c:/目标.zip
  226. *@paramdestfile
  227. *解压缩后的目录如c:/abc
  228. *@parampublicKey
  229. *公钥
  230. */
  231. publicvoiddecryptUnzip(Stringsrcfile,Stringdestfile,
  232. Stringkeyfile)throwsException{
  233. //先对文件解密
  234. Filetemp=newFile(UUID.randomUUID().toString()+".zip");
  235. temp.deleteOnExit();
  236. decrypt(srcfile,temp.getAbsolutePath(),this.getKey(keyfile));
  237. //解压缩
  238. unZip(destfile,temp.getAbsolutePath());
  239. temp.delete();
  240. }

  241. publicstaticvoidmain(Stringargs[])throwsException{
  242. longa=System.currentTimeMillis();
  243. newZipEncrypt().encryptZip("e:/com","e:/comXXX/page.zip","e:/comXXX/public.key");
  244. System.out.println(System.currentTimeMillis()-a);
  245. a=System.currentTimeMillis();
  246. newZipEncrypt().decryptUnzip("e:/comXXX/page.zip","e:/comxxx","e:/comXXX/public.key");
  247. System.out.println(System.currentTimeMillis()-a);
  248. }
  249. }
加密:encryptZip
通过路径找到Key:getKey
解密:decryptUnzip

转自【http://topic.csdn.net/u/20081215/09/6ad763bd-a158-488a-8e5e-b34cec2a0424.html及http://www.blogjava.net/zhaochengming/archive/2007/09/03/142396.html】
分享到:
评论

相关推荐

    Java实现文件的RSA和DES加密

    Java 实现文件的 RSA 和 DES 加密 在现代密码技术中,根据密钥类型的不同,可以将其分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。对称加密算法用来对敏感数据等信息进行加密,常用的...

    SpringBoot控制器统一的响应体编码/加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA

    在SpringBoot应用中,我们经常需要处理数据的安全性,包括对控制器返回的响应体进行编码或加密,以及对接收到的请求体进行解密。这样的需求可以通过自定义注解和处理器来实现,支持多种常见的加密算法,如MD5、SHA、...

    [CryptAPI]纯windowsAPI计算AES/DEA/3DES,RSA加密解密,RSA签名验签,HMAC,散列等

    RSA公钥加密/私钥解密。RSA签名/验签。各种散列:MD2/MD4/MD5,SHA/SHA1/SHA256/SHA384/SHA512。HMAC算法,支持 hmac-md5 hmac-sha1 hmac-sha256 hmac-384 hmac-sha512。PEM文件纯易语言解析,载入,导出。FPX文件...

    RSA加密解密工具,用于文件的加密和解密* RSA加密解密:私钥解密,公钥加密

    在本压缩包中,提供了RSA加密解密的工具——PRO_TDES_RSA.exe,这是一个执行程序,能够帮助用户对文件进行加密和解密操作。结合"RSATool工具简易操作指南 .doc",用户可以详细了解如何使用这个工具来保护他们的敏感...

    C#和Java实现互通的RSA&DES加解密算法

    2. 加密过程:C#使用RSA公钥或DES密钥加密数据,Java接收并解密。 3. 解密过程:Java使用RSA私钥或DES密钥加密数据,C#接收并解密。 在实现过程中,还需要注意以下几点: - 对于RSA,确保使用相同的模数和指数进行...

    RSA加密和3DES加解密

    在项目`encryption_and_decryption`中,可能包含了使用JAVA实现RSA和3DES加密解密的示例代码,通过这些代码可以学习如何在实际开发中应用这两种加密技术。了解并掌握这些加密算法的原理和使用方法,对于提升应用程序...

    MD5 & DES & RSA 加密解密

    winform做的一个小工具(源码),包括MD5加密、DES加密解密,RSA公钥密钥生成,RSA加密解密这几个功能。 pc6上找到的,不知道原作者是谁,感谢之。

    DES 加密,RSA 加密,DES 文件加密

    本文将深入探讨标题中提及的两种主要加密算法:DES(Data Encryption Standard)和RSA,并介绍如何利用它们对文件进行加密。我们将结合描述中的“提供了方便文件加密接口”来阐述如何在实际应用中实现这些加密方法。...

    js前台通过RSA,DES加解密,java后台解密、加密

    2. **后端解密**:服务器接收到数据后,使用私钥解密RSA加密的部分,然后如果使用了DES,再用预先设定的密钥解密DES加密的数据。 3. **数据处理**:后端完成解密后,可以安全地处理这些数据,例如,进行数据库操作...

    加密和解密文件

    对称加密如DES、3DES、AES等,其特点是加密和解密使用相同的密钥,速度快,适用于大量数据的加密。而非对称加密,如RSA、ECC,采用一对公钥和私钥,公钥用于加密,私钥用于解密,安全性更高,但计算复杂度相对较大,...

    rsa des 加密java源码

    在Eclipse 3.4环境下,开发者可以创建Java项目,导入这些源码,并进行编译和运行,以直观地了解RSA和DES的加密解密过程。通过这种方式,初学者可以更好地理解这两种加密算法的实现细节,并为进一步深入研究密码学...

    Java_DES和RSA加解密

    在Java编程中,加密技术是确保数据安全的重要手段,DES(Data Encryption Standard)和RSA(Rivest-Shamir-Adleman)是两种常见的加密算法,它们分别属于对称加密和非对称加密。 1. **DES(数据加密标准)**: - ...

    des加密解密MD5签名RSA加密解密

    总共两个用户 A和B, A负责加密,B解密。用Java编写界面。 首先A用DES对选定文件加密,用hash函数对明文提取hash值,RSA对hash值加密, 然后B对加密的文件解密,对A的s值解密,比较两个值

    RSA结合DES加密解密大数据

    这里我们关注的是“RSA结合DES加密解密大数据”的主题。RSA和DES都是常见的加密算法,它们各自具有不同的特点和应用场景,而将两者结合使用则可以充分利用它们的优势,为大数据提供更高级别的安全保障。 RSA...

    RSA.rar_RSA加密文件_RSA加密解密和_rsa加密算法_对称 加密文件_对称加密

    10. **源代码与实践**:提供的RAR文件可能包含RSA加密和解密的源代码及可执行文件,这对于学习密码学理论和实践非常有价值。通过阅读和运行这些代码,可以深入理解RSA的工作机制。 总之,RSA加密算法是现代密码学的...

    RSA加密/解密实验

    同时,实验还包括对一个磁盘文本文件进行加密和解密的实际应用,以检验算法的可行性。 实验内容虽然提及了AES加密/解密,但主要关注点应是RSA算法。AES(Advanced Encryption Standard)是对称加密算法,与RSA不同...

    C# RSA加密、支持JAVA格式公钥私钥

    综上所述,这个C#项目旨在提供一个与Java平台兼容的RSA加密解密工具,方便跨平台的数据安全传输。开发人员可以利用这个工具包,使用C#进行RSA操作,同时处理来自Java环境的公钥和私钥。这在多语言协作或者混合系统...

    MD5加密,DES,RSA加解密工具

    在给定的"MD5加密,DES,RSA加解密工具"中,用户可以通过Encoder.exe文件实现这三种加密方式的操作。MD5用于快速校验数据完整性,而DES和RSA则提供加密服务。DES适合大量数据的加密,因为其速度较快,但需要保证密钥...

    DES 3DES RSA 的实现加密解密算法

    本文将详细介绍C#环境下如何实现DES、3DES和RSA这三种常见的加密解密算法,并基于VS2005开发一个Winform应用程序来演示其实现过程。 首先,DES(Data Encryption Standard)是一种对称加密算法,它使用56位的密钥对...

Global site tag (gtag.js) - Google Analytics