SEARCH KEYWORD -- Algorithm
Generate certificate in Java -- Self signed certificate
This is the first post in this series which I will show you how to generate SSL certificate in Java programmatically. Certificates are frequently used in SSL communication which requires the authentication of server to client. This is to make the client to trust that the server is actually the one it claims. Certificates are really important on the Internet. All HTTPS communications on the Internet need the server side to present their certificates signed by trusted CAs. The basic flow of a requ...
Java,Certificate,X509 2014-07-30 07:42:18
Different types of keystore in Java -- JKS
JKS is Java Keystore, a proprietary keystore type designed for Java. It can be used to store private keys and certificates used for SSL communication, it cannot store secret keys however. The keytool shipped with JDKs cannot extract private keys stored on JKS. This type of keystore usually has an extension of jks. Next we will show how to operate the JKS keystore with pure Java code. Create JKS keystore The simplest method to create a JKS keystore to create an empty keystore. We can first get an...
Different types of keystore in Java -- PKCS12
PKCS12 is an active file format for storing cryptography objects as a single file. It can be used to store secret key, private key and certificate.It is a standardized format published by RSA Laboratories which means it can be used not only in Java but also in other libraries in C, C++ or C# etc. This file format is frequently used to import and export entries from or to other keystore types. Next we will explain the operations which can be performed on PKCS12 keystore. Create PKCS12 keystore Be...
2013 Google Code Jam is around the corner
According to Google Code Jam, the registration time of Google Code Jam 2013 will start on 12th March, and the deadline for registration will be 14th April 00:00UTC. This year the champion will get $15,000. Besides the prize and title, the champion will be enrolled in the qualification round in 2014 directly. Since 2003, Google Code Jam attracted many professional and students to solve the hardest algorithm problems in the world. Last year, there were over 35000 programmers participated in this c...
Google,Code Jam 2013 2013-03-13 05:48:24
Traditional recursion vs Tail recursion
Recursion is a frequently adopted pattern for solving some sort of algorithm problems which need to divide and conquer a big issue and solve the smaller but the same issue first. For example, calculating fibonacci accumulating sum and calculating factorials. In these kinds of issues, recursion is more straightforward than their loop counterpart. Furthermore, recursion may need less code and looks more concise. For example, let's calculate sum of a set of numbers starting with 0 and st...
ALGORITHM,RECURSION,TAIL RECURSION,TRADITIONAL RECURSION 2016-09-23 23:54:09
Big file transfer in Linux
It's very common that we need to transfer files between two different hosts such as backups. It is also an very simple task, we can use scp or rsync to complete the task well. But what if the file is very big, it may take some time to transfer it. How can we transfer a big file with high speed? Here we propose one solution. Copy file If we copy one uncompressed file, then we should follow below steps: Compress data Send it to another host Uncompress the data Verify the data integrity This will...
Implementing DESede/ECB/NoPadding cipher algorithm in GoLang
By default, GoLang doesn't provide the ECB mode cipher for DESede though there is CBC mode provided. In cases we need to encrypt/decrypt data with ECB mode, we need to implement those by ourselves. This mode is frequently used when encrypting/decrypting PIN block which is small block data less than 16 bytes. In this post, we will introduce how to implement the DESede/ECB/NoPadding algorithm in GoLang by using the existing cipher support. Here we will not cover how DESede works in detail, instead...
Find max subarray of an array
In computer science, the maximum subarray problem is the task of finding the contiguous subarray within a one-dimensional array of numbers (containing at least one positive number) which has the largest sum. For example, for the sequence of values −2, 1, −3, 4, −1, 2, 1, −5, 4; the contiguous subarray with the largest sum is 4, −1, 2, 1, with sum 6. The problem was first posed by Ulf Grenander of Brown University in 1977,...
Max Subarray, Divide and conquer,Kadane 2013-04-22 11:50:35
Solve Hibernate "Too many connections" issue in MySQL
When working with Hibernate and MySQL, sometimes some exceptions will be thrown after sometime. The exception may seem like : java.sql.SQLException: Data source rejected establishment of connection, message from server: "Too many connections" This means there are too many active connections on the MySQL, you can use SHOW STATUS LIKE '%Threads_connected%'; to check the active connections to MySQL. If you want to change the maximum connections allowed to MySQL. You can execute: set global max_co...
Why should we drop or reduce use of MD5?
MD5 is a frequently used one-way hash algorithm, it is commonly used in following situations: Check data integrity. We take hash of the data stored in two different places and compare them. If the hash results are the same, then there is no need to check the actual data. This utilizes the collision-resistant feature. Two different data block will have little chance that their hash values will be the same. Many data service providers use such technique to check repeated data to avoild repeating...
MD5,Vulnerability,attack 2012-09-29 04:47:49
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>