1. 程式人生 > >DbSchema註冊碼生成

DbSchema註冊碼生成

stack cassandra int generator param ext 選擇 static ktr

由於公司項目使用了Cassandra進行數據的存儲,查看數據的時候,每次都要在命令行操作,既麻煩看起來效果也不好。所以就在網上找了下面幾個圖形化工具:

1.DbSchema

2.RazorSQL

3.DBeaver

其中,DBeaver是免費的,另外兩個需要購買。但是DBeaver是不支持Cassandra的,需要使用第三方的驅動。結果找到一個第三方驅動後,發現這個驅動比另外兩個軟件還貴,OMG~

沒辦法,只能去網上找PoJie了。由於RazorSQL的界面相對來說比較醜,所以就選擇了DbSchema。

在網上搜了一下,找到一個生成註冊碼的工具:

https://blog.riguz.com/it/crack_dbschema.html

本來想使用現成的工具的,可是中間各種挫折,沒能成功,於是就順著這個哥們的思路寫了一個Java的。因為只是自己偶爾使用,所以沒搞太復雜,就一個Java類,下面是代碼:

技術分享圖片
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;

public class DbSchemaKeyGenerator {
    public static void main(String[] args) {

        String name 
= "your_name"; try { String key = generateKey(name); System.out.println("key: " + key); } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) { e.printStackTrace(); } } private static String generateKey(String name) throws
NoSuchAlgorithmException, UnsupportedEncodingException { String salt = getSalt(); String encryptSource = "ax5" + name + "b52w" + salt + "vb3"; MessageDigest localMessageDigest = MessageDigest.getInstance("MD5"); String hash = formatToHex(localMessageDigest.digest(encryptSource.getBytes("UTF-8"))); return hash.substring(0, 4) + salt + hash.substring(4); } private static String formatToHex(byte[] paramArrayOfByte) { StringBuilder localStringBuilder = new StringBuilder(); for (int m = 0; m < paramArrayOfByte.length; m++) { if ((m % 32 == 0) && (m != 0)) { localStringBuilder.append("\n"); } String str = Integer.toHexString(paramArrayOfByte[m]); if (str.length() < 2) { str = "0" + str; } if (str.length() > 2) { str = str.substring(str.length() - 2); } localStringBuilder.append(str); } return localStringBuilder.toString(); } private static int random(int min, int max) { return rand() % (max - min + 1) + min; } private static int rand() { return new Random().nextInt(Integer.MAX_VALUE); } private static String getSalt() { int r = random(10000, 30000); return String.valueOf(r); } }
View Code

Tips:最後說一句,如果有條件,而且又使用的比較多的,最好還是購買正版吧,官網地址:

https://www.dbschema.com/index.html

DbSchema註冊碼生成