Я не могу настроить Hector для Cassandra. Я просмотрел документацию и Cassandra wiki . Проблема с этими документами заключается в том, что большая часть информации там устарела или минималистична (или мне не хватает знаний). В любом случае, мне интересно, может ли кто-нибудь предоставить некоторые грубые упрощенные руководство по его установке.
Я стремлюсь создать страницу JSP, которая может использовать базу данных Cassandra.
Что я сделал на данный момент:
me.prettyprint.cassandra
в Java каталог проекта, но по-прежнему ничего. Я также не уверен, где взять Thrift API (или как его установить)? И если он мне вообще понадобится?
Любая помощь будет принята с благодарностью.
-121 --- 1942 634-
Есть много вопросов по этой теме, то же решение, но это не работает для меня. У меня есть простой тест с шифрованием .Само шифрование / дешифрование работает (пока я обрабатываю этот тест с самим массивом байтов, а не как строки). Проблема в том, что не хочу обрабатывать его как массив байтов, а как String, но когда я кодирую массив байтов в строку и обратно, результирующий массив байтов отличается от исходного массива байтов, поэтому расшифровка больше не работает. Я пробовал следующие параметры в соответствующих строковых методах: UTF-8, UTF8, UTF-16, UTF8. Ни один из них не работает. Результирующий байтовый массив отличается от оригинала. Есть идеи, почему это так?
Encrypter:
public class NewEncrypter
{
private String algorithm = "DESede";
private Key key = null;
private Cipher cipher = null;
public NewEncrypter() throws NoSuchAlgorithmException, NoSuchPaddingException
{
key = KeyGenerator.getInstance(algorithm).generateKey();
cipher = Cipher.getInstance(algorithm);
}
public byte[] encrypt(String input) throws Exception
{
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] inputBytes = input.getBytes("UTF-16");
return cipher.doFinal(inputBytes);
}
public String decrypt(byte[] encryptionBytes) throws Exception
{
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] recoveredBytes = cipher.doFinal(encryptionBytes);
String recovered = new String(recoveredBytes, "UTF-16");
return recovered;
}
}
Это тест, в котором я его пробую:
public class NewEncrypterTest
{
@Test
public void canEncryptAndDecrypt() throws Exception
{
String toEncrypt = "FOOBAR";
NewEncrypter encrypter = new NewEncrypter();
byte[] encryptedByteArray = encrypter.encrypt(toEncrypt);
System.out.println("encryptedByteArray:" + encryptedByteArray);
String decoded = new String(encryptedByteArray, "UTF-16");
System.out.println("decoded:" + decoded);
byte[] encoded = decoded.getBytes("UTF-16");
System.out.println("encoded:" + encoded);
String decryptedText = encrypter.decrypt(encoded); //Exception here
System.out.println("decryptedText:" + decryptedText);
assertEquals(toEncrypt, decryptedText);
}
}