I have a relatively simple piece of JSP code that I need to convert to .Net (don't mind if it is VB or C#). Anyone have any ideas? <%@ page import="java.util.*, java.text.*, java.io.*, javax.servlet.*, javax.crypto.Cipher, javax.crypto.SecretKey, javax.crypto.spec.SecretKeySpec, java.net.URLEncoder, java.security.spec.AlgorithmParameterSpec, java.security.GeneralSecurityException, java.security.NoSuchAlgorithmException, org.apache.commons.codec.binary.Base64, org.apache.commons.codec.binary.Hex, org.apache.commons.codec.BinaryEncoder"%> <% // remove the domain name from the user string String s = request.getParameter("id"); String username = s.substring(s.indexOf("\\")+1, s.length()); // decode the base64 encoded secret key //String b64EncodedSecretKey = "y2K0SPm1WO0iOm/DMNnJcpF1XRL5LknC6i9y5R0J8HM="; String b64EncodedSecretKey = "+od47ejGF/G94ultfN8QYg=="; byte[] secretKeyBytes = b64EncodedSecretKey.getBytes("UTF-8"); byte[] keyData = Base64.decodeBase64(secretKeyBytes); // create a secret key instance String encryptionAlgorithm = "AES"; SecretKey secretKey = new SecretKeySpec(keyData, encryptionAlgorithm); // create cipher. note that because no mode/padding is specified in the // encryption transformation below, the default mode and padding of "ECB" // and "PKCS5Padding", respectively, will be used. String encryptionTransformation = "AES"; Cipher cipher = Cipher.getInstance(encryptionTransformation); cipher.init(Cipher.ENCRYPT_MODE, secretKey, (AlgorithmParameterSpec)null); // get ticket expiration date Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); cal.add(Calendar.MINUTE, 5); // expire 5 minutes from now Date expireDate = cal.getTime(); // format date DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); df.setTimeZone(TimeZone.getTimeZone("UTC")); String iso8601Date = df.format(expireDate); // create ticket payload. StringBuffer buff = new StringBuffer(); buff.append(username); // login key buff.append('|'); buff.append(iso8601Date); // ISO-8601 formatted UTC date String ticketPayload = buff.toString(); // encrypt ticket byte[] encryptedTicket = cipher.doFinal(ticketPayload.getBytes()); // base64 encode the encrypted ticket byte[] rawBase64Bytes = Base64.encodeBase64(encryptedTicket , false); String b64EncodedTicket = new String(rawBase64Bytes, "UTF-8"); // url encode the base64 encoded ticket. the resulting url encoded ticket // should be used as the value for the 'Ticket' query parameter String urlEncodedTicket = URLEncoder.encode(b64EncodedTicket, "UTF-8"); response.sendRedirect("https://TargetDomain.com/security/security_check?orgKey=H15S2AC40X&Ticket=" + urlEncodedTicket ); %> Code (markup):