daily pastebin goal
37%
SHARE
TWEET

Untitled

a guest Dec 13th, 2017 72 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
  1. 10-17 16:30:25.878: W/System.err(15231): java.io.IOException: pad block corrupted
  2. 10-17 16:30:25.889: W/System.err(15231):    at javax.crypto.CipherInputStream.read(CipherInputStream.java:102)
  3. 10-17 16:30:25.889: W/System.err(15231):    at javax.crypto.CipherInputStream.read(CipherInputStream.java:134)
  4. 10-17 16:30:25.898: W/System.err(15231):    at java.io.InputStream.read(InputStream.java:163)
  5. 10-17 16:30:25.898: W/System.err(15231):    at xont.virtusel.v4.controller.syn.DBEncript.ReadEncryptedFile(DBEncript.java:178)
  6. 10-17 16:30:25.898: W/System.err(15231):    at xont.virtusel.v4.controller.syn.DBEncript.callRead(DBEncript.java:247)
  7. 10-17 16:30:25.898: W/System.err(15231):    at xont.virtusel.v4.db.DataBaseHelper.extarctDataBase(DataBaseHelper.java:116)
  8. 10-17 16:30:25.898: W/System.err(15231):    at xont.virtusel.v4.db.DataBaseHelper.copyDataBase(DataBaseHelper.java:104)
  9. 10-17 16:30:25.908: W/System.err(15231):    at xont.virtusel.v4.db.DataBaseHelper.createDataBase(DataBaseHelper.java:59)
  10. 10-17 16:30:25.908: W/System.err(15231):    at xont.virtusel.v4.controller.syn.DatabaseSetupActivity$1.onItemClick(DatabaseSetupActivity.java:43)
  11. 10-17 16:30:25.908: W/System.err(15231):    at android.widget.AdapterView.performItemClick(AdapterView.java:292)
  12. 10-17 16:30:25.908: W/System.err(15231):    at android.widget.AbsListView.performItemClick(AbsListView.java:1058)
  13. 10-17 16:30:25.908: W/System.err(15231):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)
  14. 10-17 16:30:25.908: W/System.err(15231):    at android.widget.AbsListView$1.run(AbsListView.java:3168)
  15. 10-17 16:30:25.908: W/System.err(15231):    at android.os.Handler.handleCallback(Handler.java:605)
  16. 10-17 16:30:25.908: W/System.err(15231):    at android.os.Handler.dispatchMessage(Handler.java:92)
  17. 10-17 16:30:25.919: W/System.err(15231):    at android.os.Looper.loop(Looper.java:137)
  18. 10-17 16:30:25.919: W/System.err(15231):    at android.app.ActivityThread.main(ActivityThread.java:4340)
  19. 10-17 16:30:25.919: W/System.err(15231):    at java.lang.reflect.Method.invokeNative(Native Method)
  20. 10-17 16:30:25.928: W/System.err(15231):    at java.lang.reflect.Method.invoke(Method.java:511)
  21. 10-17 16:30:25.928: W/System.err(15231):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
  22. 10-17 16:30:25.928: W/System.err(15231):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
  23. 10-17 16:30:25.928: W/System.err(15231):    at dalvik.system.NativeStart.main(Native Method)
  24.    
  25. public class DBEncript {
  26.  
  27.     String mPassword = null;
  28.     public final static int SALT_LEN = 8;
  29.     byte [] mInitVec = null;
  30.     byte [] mSalt = null;
  31.     Cipher mEcipher = null;
  32.     Cipher mDecipher = null;
  33.     private final int KEYLEN_BITS = 128; // see notes below where this is used.
  34.     private final int ITERATIONS = 65536;
  35.     private final int MAX_FILE_BUF = 1024;
  36.  
  37.     public DBEncript (String password){
  38.         mPassword = password;
  39.     }
  40.  
  41.     public byte [] getSalt (){
  42.         return (mSalt);
  43.     }
  44.  
  45.     public byte [] getInitVec (){
  46.         return (mInitVec);
  47.     }
  48.  
  49.     private void Db (String msg){
  50.         System.out.println ("** DBEncript ** " + msg);
  51.     }
  52.  
  53.     /**
  54.      * @throws NoSuchAlgorithmException
  55.      * @throws InvalidKeySpecException
  56.      * @throws NoSuchPaddingException
  57.      * @throws InvalidParameterSpecException
  58.      * @throws IllegalBlockSizeException
  59.      * @throws BadPaddingException
  60.      * @throws UnsupportedEncodingException
  61.      * @throws InvalidKeyException
  62.      */
  63.     public void setupEncrypt () throws NoSuchAlgorithmException,
  64.                                                            InvalidKeySpecException,
  65.                                                            NoSuchPaddingException,
  66.                                                            InvalidParameterSpecException,
  67.                                                            IllegalBlockSizeException,
  68.                                                            BadPaddingException,
  69.                                                            UnsupportedEncodingException,
  70.                                                            InvalidKeyException {
  71.         SecretKeyFactory factory = null;
  72.         SecretKey tmp = null;
  73.         mSalt = new byte [SALT_LEN];
  74.         SecureRandom rnd = new SecureRandom ();
  75.         rnd.nextBytes (mSalt);
  76.         Db ("generated salt :" + Hex.encodeHex (mSalt));
  77.  
  78.         factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
  79.  
  80.         KeySpec spec = new PBEKeySpec (mPassword.toCharArray (), mSalt, ITERATIONS, KEYLEN_BITS);
  81.         tmp = factory.generateSecret (spec);
  82.         SecretKey secret = new SecretKeySpec (tmp.getEncoded(), "AES");
  83.  
  84.         mEcipher = Cipher.getInstance ("AES/CBC/PKCS5Padding");
  85.         mEcipher.init (Cipher.ENCRYPT_MODE, secret);
  86.         AlgorithmParameters params = mEcipher.getParameters ();
  87.  
  88.         mInitVec = params.getParameterSpec (IvParameterSpec.class).getIV();
  89.  
  90.         Db ("mInitVec is :" + Hex.encodeHex (mInitVec));
  91.     }
  92.  
  93.     public void setupDecrypt (String initvec, String salt) throws NoSuchAlgorithmException,InvalidKeySpecException,NoSuchPaddingException,
  94.                                                                                        InvalidKeyException,InvalidAlgorithmParameterException,DecoderException{
  95.         SecretKeyFactory factory = null;
  96.         SecretKey tmp = null;
  97.         SecretKey secret = null;
  98.  
  99.         mSalt = Hex.decodeHex (salt.toCharArray ());
  100.         Db ("got salt " + Hex.encodeHex (mSalt));
  101.  
  102.         mInitVec = Hex.decodeHex (initvec.toCharArray ());
  103.         Db ("got initvector :" + Hex.encodeHex (mInitVec));
  104.  
  105.  
  106.         factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
  107.         KeySpec spec = new PBEKeySpec(mPassword.toCharArray (), mSalt, ITERATIONS, KEYLEN_BITS);
  108.  
  109.         tmp = factory.generateSecret(spec);
  110.         secret = new SecretKeySpec(tmp.getEncoded(), "AES");
  111.  
  112.         mDecipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
  113.         mDecipher.init(Cipher.DECRYPT_MODE, secret, new IvParameterSpec(mInitVec));
  114.     }
  115.  
  116.  
  117.     public void WriteEncryptedFile (File input, File output) throws IOException, IllegalBlockSizeException,BadPaddingException{
  118.         FileInputStream fin;
  119.         FileOutputStream fout;
  120.         long totalread = 0;
  121.         int nread = 0;
  122.         byte [] inbuf = new byte [MAX_FILE_BUF];
  123.  
  124.         fout = new FileOutputStream (output);
  125.         fin = new FileInputStream (input);
  126.  
  127.         while ((nread = fin.read (inbuf)) > 0 )
  128.         {
  129.            // Db ("read " + nread + " bytes");
  130.             totalread += nread;
  131.             byte [] trimbuf = new byte [nread];
  132.             for (int i = 0; i < nread; i++)
  133.                 trimbuf[i] = inbuf[i];
  134.  
  135.             byte [] tmp = mEcipher.update (trimbuf);
  136.  
  137.             if (tmp != null)
  138.                 fout.write (tmp);
  139.         }
  140.  
  141.         byte [] finalbuf = mEcipher.doFinal ();
  142.         if (finalbuf != null)
  143.             fout.write (finalbuf);
  144.  
  145.         fout.flush();
  146.         fin.close();
  147.         fout.close();
  148.         fout.close ();
  149.  
  150.         Db ("wrote " + totalread + " encrypted bytes");
  151.     }
  152.  
  153.  
  154.  
  155.     public void ReadEncryptedFile (File input, File output) throws IllegalBlockSizeException,BadPaddingException, IOException{
  156.  
  157.         FileInputStream fin;
  158.         FileOutputStream fout;
  159.         CipherInputStream cin;
  160.         long totalread = 0;
  161.         int nread = 0;
  162.         byte [] inbuf = new byte [MAX_FILE_BUF];
  163.  
  164.         fout = new FileOutputStream (output);
  165.         fin = new FileInputStream (input);
  166.  
  167.         cin = new CipherInputStream (fin, mDecipher);
  168.         while ((nread = cin.read (inbuf)) > 0 )
  169.         {
  170.             //Db ("read " + nread + " bytes");
  171.             totalread += nread;
  172.  
  173.             byte [] trimbuf = new byte [nread];
  174.             for (int i = 0; i < nread; i++)
  175.                 trimbuf[i] = inbuf[i];
  176.  
  177.             fout.write (trimbuf);
  178.         }
  179.  
  180.         fout.flush();
  181.         cin.close();
  182.         fin.close ();      
  183.         fout.close();  
  184.  
  185.     }
  186.  
  187.  
  188.     public void callRead(File input, File output) {
  189.         String iv = null;
  190.         String salt = null;
  191.         DBEncript en = new DBEncript ("123");
  192.         try{
  193.             en.setupEncrypt ();
  194.             iv = new String(Hex.encodeHex(en.getInitVec())).toUpperCase ();
  195.             salt = new String(Hex.encodeHex(en.getSalt())).toUpperCase ();
  196.           }catch (InvalidKeyException e){
  197.             e.printStackTrace();
  198.           }catch (NoSuchAlgorithmException e){
  199.             e.printStackTrace();
  200.           }catch (InvalidKeySpecException e){
  201.             e.printStackTrace();
  202.           }catch (NoSuchPaddingException e){
  203.             e.printStackTrace();
  204.           }catch (InvalidParameterSpecException e){
  205.             e.printStackTrace();
  206.           }catch (IllegalBlockSizeException e){
  207.             e.printStackTrace();
  208.           }catch (BadPaddingException e){
  209.             e.printStackTrace();
  210.           }catch (UnsupportedEncodingException e){
  211.             e.printStackTrace();
  212.           }
  213.  
  214.  
  215.           /*
  216.            * decrypt file
  217.            */
  218.           DBEncript dc = new DBEncript ("123");
  219.           try{
  220.             dc.setupDecrypt (iv, salt);
  221.           }catch (InvalidKeyException e){
  222.             e.printStackTrace();
  223.           }catch (NoSuchAlgorithmException e){
  224.             e.printStackTrace();
  225.           }catch (InvalidKeySpecException e){
  226.             e.printStackTrace();
  227.           }catch (NoSuchPaddingException e){
  228.             e.printStackTrace();
  229.           }catch (InvalidAlgorithmParameterException e){
  230.             e.printStackTrace();
  231.           }catch (DecoderException e){
  232.             e.printStackTrace();
  233.           }
  234.  
  235.  
  236.           try{
  237.               dc.ReadEncryptedFile (input, output);
  238.               System.out.println ("decryption finished to " + output.getName ());
  239.             }catch (IllegalBlockSizeException e){
  240.               e.printStackTrace();
  241.             }catch (BadPaddingException e){
  242.               e.printStackTrace();
  243.             }catch (IOException e){
  244.               e.printStackTrace();
  245.             }
  246.     }
  247.  
  248.  
  249.  
  250. }
  251.    
  252. private void extarctDataBase() throws IOException {
  253.     // Open your local db as the input stream
  254.     String outFileName = DB_PATH + DB_NAME;
  255.     String extFileName = DB_PATH + SEC_NAME;
  256.     DBEncript dc = new DBEncript ("xont@123");
  257.     File eoutput = new File (extFileName);
  258.     File doutput = new File (outFileName);
  259.     System.out.println("==START===");
  260.     dc.callRead(eoutput, doutput);
  261.     System.out.println ("decryption finished to " + doutput.getName ());
  262.  
  263. }
  264.    
  265. mDecipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
  266.    
  267. mDecipher = Cipher.getInstance("AES/CFB8/NoPadding");
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top