Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 2
Регистрация: 06.05.2014
Сообщений: 17

SHA-224 и мой хард

14.07.2016, 13:38. Показов 1237. Ответов 1

Студворк — интернет-сервис помощи студентам
Есть какая-то задачка
Есть много чисел в районе
от
0.000000000000000000000000000000
до
0.069999999999999999999999999999
Нужно посчитать все хэши, но это невозможно будет хранить на твердотельном накопителе/ОЗУ
Есть примерные проценты генерации чисел (нужные)
В одной последовательности не более 3 нолей (10% шанс) - это обязательно.
Как это примерно написать? Я просто не понимаю... Т.к. пишу с циклами for - 69889999999989999999989999999 комбинаций, что многовато, да и будет очень много лишних из-за нулей
Если кто посоветует на чём это написать для большей эффективности - буду благодарен.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.moofMonkey;
 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
 
import com.moofMonkey.modules.Digest;
 
public class Main {
    static BufferedReader in;
    static BufferedWriter out;
    
    public static void main(String[] args) throws Throwable {
        File log = new File("brute.log");
        if(log.exists())
            log.delete();
        log.createNewFile();
        log.deleteOnExit();
        
        System.out.println("Generating nums/hashes...");
        out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(log)));
        for(int i1 = 0; i1 < 700; i1++)
            for(int i2 = 1; i2 < 10; i2++)
                for(int i3 = 100000000; i3 < 999999999; i3++)
            for(int i4 = 100000000; i4 < 999999999; i4++)
        for(int i5 = 100000000; i5 < 99999999; i5++)
                out.write(
                        Digest.get(
                                "0."
                                + long2str(i1) + long2str(i2) + long2str(i3) + long2str(i4) + long2str(i5),
                                "SHA224"
                        )
                        + "\n"
                );
        
        closeIO();
        
        System.out.println("End!");
    }
    
    public static String to30(String s) {
        while(s.length() < 30)
            s = "0" + s;
        
        return s;
    }
    
    public static String long2str(long i) {
        return Long.toString(i);
    }
    
    public static void closeIO() throws Throwable {
        if(in != null)
            in.close();
        if(out != null)
            out.close();
    }
}
Как-то так

Добавлено через 8 минут
Пы.сы. Digest.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.moofMonkey.modules;
 
import java.security.MessageDigest;
import java.security.Security;
 
import org.bouncycastle.jce.provider.BouncyCastleProvider;
 
public class Digest {
    public static String get(String str, String digest) {
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance(digest, "BC");
        } catch(Throwable t) {
            t.printStackTrace();
        }
        
        return byteArrayToHexString(md.digest(str.getBytes()));
        /*return new String(md.digest(str.getBytes()));*/
    }
    
    private static String byteArrayToHexString(byte[] b) {
        String result = "";
        for (int i = 0; i < b.length; i++) {
            result +=
                    Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring( 1 );
        }
        
        return result;
    }
    
    static {
        Security.addProvider(new BouncyCastleProvider());
    }
}
Остальное - BouncyCastle API
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.07.2016, 13:38
Ответы с готовыми решениями:

Бьёт ошибку! 11 D:\Ïðàêòèêà ïo C++\Çàäà÷à 15\main.cpp `nullptr' undeclared (first use this function)
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;vector&gt; #include &lt;time.h&gt; using namespace std; const int n = 3; const int...

Нужна реализация алгоритма SHA-224
Есть ли у кого-нибудь готовая реализация данного алгоритма? В сети нашел только HashLib, но там столько классов, что даже не смог...

ADO.NET. Неправильно отображаются данные Çàãàçàííîñü
При считывании данных из базы ms SQL server, используется «SqlDataAdapter», при этом в DataGrid данные кириллицей отображаются непонятными...

1
14.07.2016, 19:11

Не по теме:

Цитата Сообщение от tyumencev2004 Посмотреть сообщение
Есть много чисел в районе
от
0.000000000000000000000000000000
Цитата Сообщение от tyumencev2004 Посмотреть сообщение
Java
1
Digest.get( "0." + long2str(i1) + long2str(i2) + long2str(i3) + long2str(i4) + long2str(i5), "SHA224" )
Цитата Сообщение от tyumencev2004 Посмотреть сообщение
Java
1
2
public static String get(String str, String digest) {
... str.getBytes() ...
Где тут хэш от числа?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2016, 19:11
Помогаю со студенческими работами здесь

Что за ошибка: error '80004005' Íåîïîçíàííàÿ îøèáêà ?
при окрытии рекордсета rsUsersList.Open SQLQuery, Conn выдаётся ошибка error '80004005' ...

Сколько еще проживет мой хард?
прилагаю смарт диска из виктории диску песец скоро или идти менять? харду год всего,еще на гарантии TOSHIBA HDWD110 18H48T0FS...

Как правильно перепрошить мой хард при слетевшей прошивке?
Слетела прошивка жесткого диска Seagate Barracuda 7200.12, модель ST31000528AS , версия её была СС38. В программе SeaTools for Windows для...

Компьютер не видит хард при первоначальной загрузке. И не только хард
В общем предыстория: попросили починить компьютер. &quot;Не грузиццо&quot;. С умным видом включаю, ожидая увидеть привычный баннер или же слетевшую...

После установки Linux на один хард, винда перестала видеть другой хард
У меня два жестких диска, на одном было два раздела, в одном из которых стоит винда. От второго раздела я откусил кусочек и установил туда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru