Набрел на неплохую и достаточно объемную коллекцию ссылок по Apache Web Services.
Советую всем, кому интересна эта тема.
http://tssblog.techtarget.com/index.php/mini-guide-apache-web-services/
Showing posts with label java. Show all posts
Showing posts with label java. Show all posts
Wednesday, May 23, 2007
Sunday, March 25, 2007
Diceware Passphrase
Источник
Diceware Passphrase - это предельно простой алгоритм генерации
паролей. Насколько длинных - настолько простых к запоминанию.
Алгоритм строится на принципе "кидания 5 игральных костей N раз" и
определнию комбинаций из цифр с последующим сопоставлением этих цифр определенным словам.
По ссылке, указаной выше можно скачать такой файл соответствия.
Выглядит он следующим образом:
11126 abase
11131 abash
11132 abate
Принцип следующий:
Кидаем 5 костей первый раз, записываем получившееся 5-значное число.
Кидаем второй раз - опять записываем.
И так подряд столько раз, сколько необходимо.
Затем по файлу определяем слова соответствующие цифрам и производим конкатенацию.
В общем-то - это и есть весь алгоритм. Даже алгоритмом можно назвать
с достаточно сильной натяжкой.
Код (исключительно ознакомительный, как пример):
public class Diceware {
private SecureRandom secureRandom = new SecureRandom();
private Map wordlist = new HashMap();
public Diceware(String wordslistPath) throws IOException {
File file = new File(wordslistPath);
InputStream is = new FileInputStream(file);
Reader reader = new InputStreamReader(is);
BufferedReader bufferedReader = new BufferedReader(reader);
String pair[];
String line;
while ((line = bufferedReader.readLine()) != null) {
pair = line.split(",");
wordlist.put(pair[0], pair[1]);
}
bufferedReader.close();
reader.close();
is.close();
}
public String getPassphrase(int rolls) {
String passphrase = "";
String tmp = "";
for (int i = 0; i < rolls; i++) {
for (int j = 0; j < 5; j++) {
tmp += secureRandom.nextInt(6) + 1;
}
passphrase += wordlist.get(tmp);
tmp = "";
}
return passphrase;
}
}
PS: вопрос на засыпку: как можно лаконично перевести на русский слово passphrase в данном контексте:
"A passphrase is a bunch of words and characters that you type in to your computer to let it know for sure that the person typing is you. Most newer security programs allow you to enter a passphrase instead of just a short password for added protection against attackers."
Diceware Passphrase - это предельно простой алгоритм генерации
паролей. Насколько длинных - настолько простых к запоминанию.
Алгоритм строится на принципе "кидания 5 игральных костей N раз" и
определнию комбинаций из цифр с последующим сопоставлением этих цифр определенным словам.
По ссылке, указаной выше можно скачать такой файл соответствия.
Выглядит он следующим образом:
11126 abase
11131 abash
11132 abate
Принцип следующий:
Кидаем 5 костей первый раз, записываем получившееся 5-значное число.
Кидаем второй раз - опять записываем.
И так подряд столько раз, сколько необходимо.
Затем по файлу определяем слова соответствующие цифрам и производим конкатенацию.
В общем-то - это и есть весь алгоритм. Даже алгоритмом можно назвать
с достаточно сильной натяжкой.
Код (исключительно ознакомительный, как пример):
public class Diceware {
private SecureRandom secureRandom = new SecureRandom();
private Map wordlist = new HashMap();
public Diceware(String wordslistPath) throws IOException {
File file = new File(wordslistPath);
InputStream is = new FileInputStream(file);
Reader reader = new InputStreamReader(is);
BufferedReader bufferedReader = new BufferedReader(reader);
String pair[];
String line;
while ((line = bufferedReader.readLine()) != null) {
pair = line.split(",");
wordlist.put(pair[0], pair[1]);
}
bufferedReader.close();
reader.close();
is.close();
}
public String getPassphrase(int rolls) {
String passphrase = "";
String tmp = "";
for (int i = 0; i < rolls; i++) {
for (int j = 0; j < 5; j++) {
tmp += secureRandom.nextInt(6) + 1;
}
passphrase += wordlist.get(tmp);
tmp = "";
}
return passphrase;
}
}
PS: вопрос на засыпку: как можно лаконично перевести на русский слово passphrase в данном контексте:
"A passphrase is a bunch of words and characters that you type in to your computer to let it know for sure that the person typing is you. Most newer security programs allow you to enter a passphrase instead of just a short password for added protection against attackers."
Ярлыки:
java
Monday, February 19, 2007
Создание схемы базы данных из Ant
При установке/тестировании приложения достаточно часто приходится создавать/пересоздавать схему базы данных. Используя Ant - это достаточно просто.
Пример:
Первое, что сделаем - это создадим файл db.properties и занесем в него необходимые нам настройки:
Здесь db.driver - класс драйвера для подключения к базе данных, db.url - полный урл для доступа к базе данных, db.source.file - файл, в котором расположены SQL Query.
Теперь, собственно, сам файл build.xml (т.к. это фрагмент - файл будет предельно прост):
В этом файле сначала подключаем файл db.properties (теперь можно использовать параметры, определенные в нем также, как если бы они были определны непосредственно в самом build-файле)
Далее указываем свойства url, userid, password и src (думаю, эти свойства в представлении не нуждаются).
Свойство onerror - отвечает за то, будет ли продолжаться выполнение в случае возникновения ошибки при работе с базой данны. В данном случае - выполнение будет продолжено.
classpathref - это ссылка на элемент path, в котором перечислены пути поиска библиотек (например - путь до драйвера базы данных).
Вот, в общем-то и все :)
Пример:
Первое, что сделаем - это создадим файл db.properties и занесем в него необходимые нам настройки:
db.driver=oracle.jdbc.driver.OracleDriver
db.username=login
db.password=password
db.url=jdbc:oracle:thin:@127.0.0.1:1526:testdb
db.source.file=data.sql
Здесь db.driver - класс драйвера для подключения к базе данных, db.url - полный урл для доступа к базе данных, db.source.file - файл, в котором расположены SQL Query.
Теперь, собственно, сам файл build.xml (т.к. это фрагмент - файл будет предельно прост):
<?xml version="1.0"?>
<project name="build_db" default="create-db" >
<property file="db.properties" />
<path id="classpath">
<fileset dir="/lib" includes="**/*.jar" />
</path>
<target name="create-db" description="create database scheme">
<sql driver = "${db.driver}"
url = "${db.url}"
userid = "${db.username}"
password = "${db.password}"
src = "${db.source.file}"
onerror = "continue"
classpathref = "classpath"
/>
</target>
</project>
В этом файле сначала подключаем файл db.properties (теперь можно использовать параметры, определенные в нем также, как если бы они были определны непосредственно в самом build-файле)
Далее указываем свойства url, userid, password и src (думаю, эти свойства в представлении не нуждаются).
Свойство onerror - отвечает за то, будет ли продолжаться выполнение в случае возникновения ошибки при работе с базой данны. В данном случае - выполнение будет продолжено.
classpathref - это ссылка на элемент path, в котором перечислены пути поиска библиотек (например - путь до драйвера базы данных).
Вот, в общем-то и все :)
Ярлыки:
java
Subscribe to:
Posts (Atom)