【交易猫平台源码】【梅兰商城html源码】【极客网 源码】biginteger 源码

2024-11-15 07:02:21 来源:erp安装源码 分类:探索

1.如何实现用javascript实现rsa加解密
2.三种大数相乘算法
3.Netty中的channelRead和messageReceived的区别
4.我想把java文件先加密然后打包,源码请高手指教怎么加密,源码交易猫平台源码有那种好的源码梅兰商城html源码加密算法吗?
5.关于java中DecimalFormat的问题。

biginteger 源码

如何实现用javascript实现rsa加解密

       å…·ä½“实现思路如下:

       1。服务端生成公钥与私钥,保存。

       2。客户端在请求到登录页面后,随机生成一字符串。

       3。后此随机字符串作为密钥加密密码,再用从服务端获取到的公钥加密生成的随机字符串。

       4。将此两段密文传入服务端,服务端用私钥解出随机字符串,再用此私钥解出加密的密文。

       è¿™å…¶ä¸­æœ‰ä¸€ä¸ªå…³é”®æ˜¯è§£å†³æœåŠ¡ç«¯çš„公钥,传入客户端,客户端用此公钥加密字符串后,后又能在服务端用私钥解出。

       æ­¤æ–‡å³ä¸ºå®žçŽ°æ­¤æ­¥è€Œä½œã€‚

       åŠ å¯†ç®—法为RSA:

       1。服务端的RSA  java实现。

/** 

        *  

        */  

       package com.sunsoft.struts.util;  

         

       import java.io.ByteArrayOutputStream;  

       import java.io.FileInputStream;  

       import java.io.FileOutputStream;  

       import java.io.ObjectInputStream;  

       import java.io.ObjectOutputStream;  

       import java.math.BigInteger;  

       import java.security.KeyFactory;  

       import java.security.KeyPair;  

       import java.security.KeyPairGenerator;  

       import java.security.NoSuchAlgorithmException;  

       import java.security.PrivateKey;  

       import java.security.PublicKey;  

       import java.security.SecureRandom;  

       import java.security.interfaces.RSAPrivateKey;  

       import java.security.interfaces.RSAPublicKey;  

       import java.security.spec.InvalidKeySpecException;  

       import java.security.spec.RSAPrivateKeySpec;  

       import java.security.spec.RSAPublicKeySpec;  

         

       import javax.crypto.Cipher;  

         

         

         

       /** 

        * RSA å·¥å…·ç±»ã€‚提供加密,解密,生成密钥对等方法。 

        * éœ€è¦åˆ°ment go to

       * Window - Preferences - Java - Code Style - Code Templates

       */

       public class RSA {

       /

**

       * BigInteger.ZERO

       */

       private static final BigInteger ZERO = BigInteger.ZERO;

       /

**

       * BigInteger.ONE

       */

       private static final BigInteger ONE = BigInteger.ONE;

       /

**

       * Pseudo BigInteger.TWO

       */

       private static final BigInteger TWO = new BigInteger("2");

       private BigInteger myKey;

       private BigInteger myMod;

       private int blockSize;

       public RSA (BigInteger key,源码极客网 源码 BigInteger n, int b) {

       myKey = key;

       myMod = n;

       blockSize = b;

       }

       public void encodeFile (String filename) {

       byte[] bytes = new byte[blockSize / 8 + 1];

       byte[] temp;

       int tempLen;

       InputStream is = null;

       FileWriter writer = null;

       try {

       is = new FileInputStream(filename);

       writer = new FileWriter(filename + ".enc");

       }

       catch (FileNotFoundException e1){

       System.out.println("File not found: " + filename);

       }

       catch (IOException e1){

       System.out.println("File not found: " + filename + ".enc");

       }

       /

**

       * Write encoded message to 'filename'.enc

       */

       try {

       while ((tempLen = is.read(bytes, 1, blockSize / 8)) > 0) {

       for (int i = tempLen + 1; i < bytes.length; ++i) {

       bytes[i] = 0;

       }

       writer.write(encodeDecode(new BigInteger(bytes)) + " ");

       }

       }

       catch (IOException e1) {

       System.out.println("error writing to file");

       }

       /

**

       * Close input stream and file writer

       */

       try {

       is.close();

       writer.close();

       }

       catch (IOException e1) {

       System.out.println("Error closing file.");

       }

       }

       public void decodeFile (String filename) {

       FileReader reader = null;

       OutputStream os = null;

       try {

       reader = new FileReader(filename);

       os = new FileOutputStream(filename.replaceAll(".enc", ".dec"));

       }

       catch (FileNotFoundException e1) {

       if (reader == null)

       System.out.println("File not found: " + filename);

       else

       System.out.println("File not found: " + filename.replaceAll(".enc", "dec"));

       }

       BufferedReader br = new BufferedReader(reader);

       int offset;

       byte[] temp, toFile;

       StringTokenizer st = null;

       try {

       while (br.ready()) {

       st = new StringTokenizer(br.readLine());

       while (st.hasMoreTokens()){

       toFile = encodeDecode(new BigInteger(st.nextToken())).toByteArray();

       System.out.println(toFile.length + " x " + (blockSize / 8));

       if (toFile[0] == 0 && toFile.length != (blockSize / 8)) {

       temp = new byte[blockSize / 8];

       offset = temp.length - toFile.length;

       for (int i = toFile.length - 1; (i <= 0) && ((i + offset) <= 0); --i) {

       temp[i + offset] = toFile[i];

       }

       toFile = temp;

       }

       /*if (toFile.length != ((blockSize / 8) + 1)){

       temp = new byte[(blockSize / 8) + 1];

       System.out.println(toFile.length + " x " + temp.length);

       for (int i = 1; i < temp.length; i++) {

       temp[i] = toFile[i - 1];

       }

       toFile = temp;

       }

       else

       System.out.println(toFile.length + " " + ((blockSize / 8) + 1));*/

       os.write(toFile);

       }

       }

       }

       catch (IOException e1) {

       System.out.println("Something went wrong");

       }

       /

**

       * close data streams

       */

       try {

       os.close();

       reader.close();

       }

       catch (IOException e1) {

       System.out.println("Error closing file.");

       }

       }

       /

**

       * Performs <tt>base</tt>^<sup><tt>pow</tt></sup> within the modular

       * domain of <tt>mod</tt>.

       

*

       * @param base the base to be raised

       * @param pow the power to which the base will be raisded

       * @param mod the modular domain over which to perform this operation

       * @return <tt>base</tt>^<sup><tt>pow</tt></sup> within the modular

       * domain of <tt>mod</tt>.

       */

       public BigInteger encodeDecode(BigInteger base) {

       BigInteger a = ONE;

       BigInteger s = base;

       BigInteger n = myKey;

       while (!n.equals(ZERO)) {

       if(!n.mod(TWO).equals(ZERO))

       a = a.multiply(s).mod(myMod);

       s = s.pow(2).mod(myMod);

       n = n.divide(TWO);

       }

       return a;

       }

       }

       在这里提供两个版本的RSA算法JAVA实现的代码下载:

       1. 来自于 /code.aspx?ID= 的RSA算法实现源代码包:

       /rsa/

       

参考资料:

/product/showarticle.asp?id=

关于java中DecimalFormat的问题。

       把newSalary转为double型,源码zabbix源码分析视频然后再format就好了,源码Apktool怎样导入源码看源码就会知道,源码String类型是源码不被允许的

public final StringBuffer format(Object number,

                                            StringBuffer toAppendTo,

                                            FieldPosition pos) {

               if (number instanceof Long || number instanceof Integer ||

                          number instanceof Short || number instanceof Byte ||

                          number instanceof AtomicInteger ||

                          number instanceof AtomicLong ||

                          (number instanceof BigInteger &&

                           ((BigInteger)number).bitLength () < )) {

                   return format(((Number)number).longValue(), toAppendTo, pos);

               } else if (number instanceof BigDecimal) {

                   return format((BigDecimal)number, toAppendTo, pos);

               } else if (number instanceof BigInteger) {

                   return format((BigInteger)number, toAppendTo, pos);

               } else if (number instanceof Number) {

                   return format(((Number)number).doubleValue(), toAppendTo, pos);

               } else {

                   throw new IllegalArgumentException("Cannot format given Object as a Number");

               }

           }

更多资讯请点击:探索

推荐资讯

微信精彩互换平台源码

1.网络推广的主要方法是什么?2.微信精彩无限互换公众号怎么查网络推广的主要方法是什么?网络推广的方法有: 1.搜索引擎优化。大多数消费者都会使用某些搜索引擎来获取他们能联系到的品牌的相关信息,以

美國18公斤胖貓「渾圓肚肚」超萌 中途之家:希望新主人幫牠減重

美國維吉尼亞動物中途之家最近來了一隻重達19公斤的貓咪,體重和一個5、6歲小孩差不多。被工作人員抱起來時,總是露出圓滾滾的白色肚子,可愛溫和的模樣一PO上網,馬上吸引上千名網友討論,也迅速找到新家。可

天下晨間新聞  美股又跌500多點,誰逆著大盤走?|天下雜誌

科技股吐了,美股又跌500多點。特斯拉電池日後,股價為什麼沒繼續漲?還有,美國對華為的禁令,是玩假的嗎?