Im using this code to decrypt AES data:  public static String decrypt(String ciphertext, String password) {     byte[] cipherdata = System.Convert.FromBase64String(ciphertext);      byte[] iv = new byte[AESBlockSize * 4];     Array.Copy(cipherdata, 0, iv, 0, iv.Length);      byte[] input = new byte[cipherdata.Length - iv.Length];     Array.Copy(cipherdata, iv.Length, input, 0, input.Length);      Rfc2898DeriveBytes passwordDB = new Rfc2898DeriveBytes(password, iv, PBKDF2Iterations);     byte[] keyBytes = passwordDB.GetBytes(256 / 8);      RijndaelManaged symmetricKey = new RijndaelManaged();      symmetricKey.Mode = CipherMode.CBC;     symmetricKey.Padding = PaddingMode.ISO10126;      ICryptoTransform decryptor = symmetricKey.CreateDecryptor(keyBytes, iv);      MemoryStream memoryStream = new MemoryStream(input);     CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read);      byte[] plainTextBytes = new byte[input.Length];      int decryptedByteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length);      memoryStream.Close();     cryptoStream.Close();      return Encoding.UTF8.GetString(plainTextBytes, 0, decryptedByteCount); }   I get the exception Padding is invalid and cannot be removed on the call to cryptoStream.Readwhen the wrong password is supplied.  Is there any way to prevent this exception when using the wrong password, because I'm trying to make a brute-forcer, and the exceptions are very slow to handle.
I needed some simple string encryption, so I wrote the following code (with a great deal of "inspiration" from ):      // create and initialize a crypto algorithm     private static SymmetricAlgorithm getAlgorithm(string password) {         SymmetricAlgorithm algorithm = Rijndael.Create();         Rfc2898DeriveBytes rdb = new Rfc2898DeriveBytes(             password, new byte[] {             0x53,0x6f,0x64,0x69,0x75,0x6d,0x20,             // salty goodness             0x43,0x68,0x6c,0x6f,0x72,0x69,0x64,0x65         }         );         algorithm.Padding = PaddingMode.ISO10126;         algorithm.Key = rdb.GetBytes(32);         algorithm.IV = rdb.GetBytes(16);         return algorithm;     }      /*       * encryptString      * provides simple encryption of a string, with a given password      */     public static string encryptString(string clearText, string password) {         SymmetricAlgorithm algorithm = getAlgorithm(password);         byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(clearText);         MemoryStream ms = new MemoryStream();         CryptoStream cs = new CryptoStream(ms, algorithm.CreateEncryptor(), CryptoStreamMode.Write);         cs.Write(clearBytes, 0, clearBytes.Length);         cs.Close();         return Convert.ToBase64String(ms.ToArray());     }      /*      * decryptString      * provides simple decryption of a string, with a given password      */     public static string decryptString(string cipherText, string password) {         SymmetricAlgorithm algorithm = getAlgorithm(password);         byte[] cipherBytes = Convert.FromBase64String(cipherText);         MemoryStream ms = new MemoryStream();         CryptoStream cs = new CryptoStream(ms, algorithm.CreateDecryptor(), CryptoStreamMode.Write);         cs.Write(cipherBytes, 0, cipherBytes.Length);         cs.Close();                     return System.Text.Encoding.Unicode.GetString(ms.ToArray());     }   The code appears to work fine, except that when decrypting data with an incorrect key, I get a CryptographicException - "Padding is invalid and cannot be removed" - on the cs.Close() line in decryptString.   example code:      string password1 = "password";     string password2 = "letmein";     string startClearText = "The quick brown fox jumps over the lazy dog";     string cipherText = encryptString(startClearText, password1);     string endClearText = decryptString(cipherText, password2);     // exception thrown   My question is, is this to be expected? I would have thought that decrypting with the wrong password would just result in nonsense output, rather than an exception.
Is there a regular expression to detect a valid regular expression? Is it possible to detect a valid regular expression with another regular expression?  If so please give example code below. As I found solutions on making site-to-site VPN between Azure and AWS using a software VPN server, I'm asking myself if it's possible to connect the VPN gateways (Azure VNET / AWS VPC) directly.  Is there a limitation that forbids it ? In the calculus of variations, particularly Lagrangian mechanics, people often say we vary the position and the velocity independently. But velocity is the derivative of position, so how can you treat them as independent variables? What's the meaning of the transpose? I was surprised to only recently notice that      An object of any density can be large enough to fall within its own   Schwarzschild radius.   Of course! It turns out that supermassive black holes at galactic centers can have an average density of less than water's.  Somehow I always operated under the assumption that black holes of any size had to be superdense objects by everyday standards.  Compare the Earth to collapsing into a mere 9mm marble retaining the same mass, in order for the escape velocity at the surface to finally reach that of light.  Or Mt. Everest packed into one nanometer.  Reading on about this , it increases proportionally with total mass.  Assuming matter is accumulated at a steady density into a spherical volume, the volume's radius will only "grow" at a cube root of the total volume and be quickly outpaced by its own gravitational radius.  Question: For an object the , what would have to be its diameter for it to qualify as a black hole (from an external point of view)?  Would this not imply by definition that:   The Earth, Solar system and Milky Way are conceivably inside this black hole? Black holes can be nested/be contained within larger ones? Whether something is a black hole or not is actually a matter of perspective/where the observer is, inside or outside? If $f: D(0,1)\to \mathbb C$ is holomorphic, then there is a sequence $\{z_n\}$ in $D(0,1)$ such that $|z_n| \to 1$ and $\{f(z_n)\}$ is bounded Man travelling alone across a planet, thinks about a fearsome creature that he hears behind him About fifteen years ago I read a short story about a man on a planet (possibly Mars or the Moon), travelling alone between bases. It's written in the first person and as he's walking across the planet, he's thinking to himself about this fearsome creature that preys on people. It sneaks up on them, makes some noise and then attacks them. Just as he turns the final corner of the canyon he was walking through and sees the door to the other base, he hears the creature behind him making its noise and the story ends.  It was in a short story collection but I don't remember the name of the story or the book it was in. Any help would be much appreciated. Quad tree vs Grid based collision detection "This edit would have to be a suggested edit" / edit button grayed out A couple of times recently when I attempted to edit a post while reviewing it from the "First Posts" queue, I received the following message when I tried to submit the form:  This edit would have to be a suggested edit. (x)   This is a rather cryptic message, considering that edits made from a review are suggested edits, subject to the same peer review process. There was no indication of how the edit would have to be submitted differently, much less why. I searched both help and meta for more information about this message, but came up empty.  The first time it happened, after I cancelled out I saw that someone else had just edited the post, so I thought maybe that's why I couldn't submit an edit from the review (and wondered why, if that's the case, the error message didn't just say that instead of telling me something that doesn't make any sense - that the edit I'm trying to suggest can't be submitted because it would have to be a suggested edit). However, the second time I received this message (last night, for this question: ), there was no other edit. So, I clicked the No action needed button and tried to edit the post outside the review process, only to discover that the edit link was grayed out.   I see several explanations of possible causes for graying out the edit link here: . However, there was no tooltip when I hovered over the disabled link, and the edit queue was in the single digits.  A few minutes later, I noticed that the edit link was no longer grayed out, so I edited the post and my edit was accepted.   My best hypothesis based on my experience with the error so far and the explanations I've read here at meta is that someone submitted a suggested edit while I was reviewing the post, which (a) caused me to get the cryptic error message and (b) caused the edit link to be grayed out when I accessed the post the normal way. Then a few minutes later, the suggested edit was rejected, opening up the question for new edit suggestions.  Rather than speculating about it and trying to determine the answer scientifically, it would be helpful if someone could give me the answer (as Seinfeld fans might put it, "Why don't you just tell me why I can't edit the post?"). It would be even more helpful if the error message itself provided the explanation, or if the message were defined somewhere in the help pages. But, at the very least, hopefully there will soon be an answer on meta to enlighten people who scratch their chins over this in the future. :) How do I pass a variable by reference? Failed to mount Windows share: Invalid argument A very similar question has been asked before by robazefa, but no one answered it. For the last month or so, my Ubuntu 14.04 LTS box has been been unable to open a couple of folders shared from external drives on a PC running Win 8.1 on a home network.  Through Files on the Unity desktop, I can browse the network, access the workgoup, access the Win 8.1 box, see and access its shares except the folders on its external drives.  They appear on the list and I could access them without a problem a couple of months ago, but now I get a dialogue box with Unable to access location - failed to mount Windows share: Invalid argument message, with only the option to click OK.  These folders are readily accessible now from other Win 7 and 8 PCs on the network, but the same Invalid argument error now appears on the only other Linux box on the network which runs Mint Cinnamon.  My question is which argument is in invalid and how can I validate it? I'm new to linux and the terminal. As I learn how to use the terminal to navigate through directories, I like to use the gui file explorer to mirror my terminal navigation. The icons and file extension info in the gui file explorer help me figure out what everything is. However, I can't access the root folder via the gui, I can only access it via the terminal. Is there a way to enable access to the root folder outside of the terminal? Find the infinite sum $\sum_{k=1}^{\infty}\sqrt k - 2\sqrt {k + 1} + \sqrt {k + 2} $ I am facing a problem, where I have to find the partial sum of a sequence/sum and with that, the infinite sum of the sequence.  $\sum_{k=1}^{\infty}\sqrt k - 2\sqrt {k + 1} + \sqrt {k + 2} $   The problem here is that I don't know how to proceed. I would be thankful if someone would steer me in the right direction. How can I add custom '.desktop' application launchers to Ubuntu Dock? I have made .desktop files for Ubuntu 16.04 to access my Google Chrome profiles, but once I upgraded to Ubuntu 17.10 (it worked up to Ubuntu 17.04) they got removed from the dock and I can't pin them back. Sample File: #!/usr/bin/env xdg-open  [Desktop Entry] Version=1.0 Type=Application Terminal=false Icon[en_US]=google-chrome Name[en_US]=Google Chrome Exec=google-chrome --profile-directory=Default Comment[en_US]=Chrome Name=Google Chrome Comment=Chrome Browser Icon=google-chrome Categories=Browser;Internet; Is there a difference between Cursor.Current and this.Cursor (where this is a WinForm) in .Net? I've always used this.Cursor and have had very good luck with it but I've recently started using CodeRush and just embedded some code in a "Wait Cursor" block and CodeRush used the Cursor.Current property. I've seen on the Internet and at work where other programmers have had some problems with the Cursor.Current property. It just got me to wondering if there is a difference in the two. Thanks in advance.  I did a little test. I have two winforms. I click a button on form1, set the Cursor.Current property to Cursors.WaitCursor and then show form2. The cursor doesn't change on either form. It remains Cursors.Default (pointer) cursor.  If I set this.Cursor to Cursors.WaitCursor in the button click event on form1 and show form2, the wait cursor only shows on form1 and the default cursor is on form2 which is expected. So, I still don't know what Cursor.Current does. I've been at this for almost two hours and no one seems to have the same problem as I and I doubt this will be solved but I'll try anyway.  this is the code  /tellraw @p ["Would you like to teleport?",{"text":"Yes","color":"green","bold":"true","clickEvent":{"action":"run_command","value":"/tp @p ~ ~4 ~ "},"hoverEvent":{"action":"show_text","value":{"text":"Confirm"}},{"text":"No","color":"red","bold":"true","clickEvent":{"action":"run_command","value":"/tellraw @p{"text":"Come back when you want to teleport"}"}}}]   this part is fine  /tellraw @p ["Would you like to teleport?",{"text":"Yes","color":"green","bold":"true","clickEvent":{"action":"run_command","value":"/tp @p ~ ~4 ~ "},"hoverEvent":{"action":"show_text","value":{"text":"Confirm"}}   it's just when I add this  ,{"text":"No","color":"red","bold":"true","clickEvent":{"action":"run_command","value":"/tellraw @p{"text":"Come back when you want to teleport"}"}}}]   Minecraft gives me the error:     Invalid JSON at line 1 column 203   I've tried to space it out and figure out what column 203 is but I can't, I don't know what I did. Anyone got any ideas? Write down the sum of sum of  sum of digits of $4444^{4444}$ Let $A = 4444^{4444}$;  Then sum of digits of $A = B$; Then sum of digits of $B = C$; Then sum of digits of $C = D$;  Find $D$.  What should be the approach here? How come unpolarized light does not undergo destructive interference? As far as I know, unpolarized light is defined as light which has no clear axis of polarization, but electric field vectors in all directions. However, I also know that electric fields can be superpositioned. So this leads me to the conclusion that if unpolarized light has equal $\vec E$ vectors in all directions, they should cancel.   Obviously, though, this is wrong (we've got light!). What's the explanation? What is the value of $1^i$? $\,$ What's a word for someone who is constantly asking for same thing?