Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
import java.security.*
var keys = KeyPairGenerator.getInstance("EC").generateKeyPair();
var blankSignature = new byte[64]; // zero bytes
var sig = Signature.getInstance("SHA256WithECDSAInP1363Format");
sig.initVerify(keys.getPublic());
sig.update("Hello, World".getBytes()); // anything
sig.verify(blankSignature); // true
Сказка о том, как джавушки переписали код с небезопасного языка на безопасный и помножили проверку подписей на ноль (в прямом смысле).
На ГК точно были смешки над петухами, которые путают виды типизации и с важным видом заявляют, что-де «var» уничтожает статическую типизацию и превращают «Java» в «JavaScript».
В С++ добавляют auto, крестовики:
«Ну наконецто, можно будет не писать for(std::unordered_map<std::string, std::vector>::const_iterato r it = some_map.cbegin(); ..., а сразу фигачить for(auto it = some_map.cbegin(); ...»
В Жабу добавляют var, жавушки:
«Такое слово есть в жаваскрипте, не хотим, хотим жрать стекло...»
Именно поэтому я за «Java 8». Там нет никаких «var».
> an attacker can trivially and completely bypass them if your server is running any Java 15, 16, 17, or 18 version before the April 2022 Critical Patch Update (CPU).
> If you have deployed Java 15, Java 16, Java 17, or Java 18 in production then you should stop what you are doing
Java -- универсальный язык программирования, работающий как на маленьких J2ME карточках, так и на серьезных рабочих станциях и суперсерверах!
Главный принцип Java гласит: "пиши один раз, запускай везде", что позволет экономить время разработки и не получать вендор лок (крайней важно в современном мире!)
Мощные средства объектно-оринетированного программирования позволяют писать гибкий и мощный, современный и грамотный код
Автоматическое управление памятью избавляет программиста от ручной работы, позволяя сосредоточиться на бизнес-задачах.
Java так же один из самых высокооплачеваемых языков программирования
Присоединяйтесь!
PHP -- универсальный язык программирования, работающий как на маленьких веб-сайтах, так и на серьезных проектах вроде ВК!
Главный принцип PHP гласит: "не нужно быть профессиональным программистом, чтобы программировать", что позволет экономить время разработки и не получать емплои лок (крайней важно в современном мире!)
Остутстие статической типизации избавляет программиста от ручной работы по указанию типов, позволяя сосредоточиться на бизнес-задачах.
bormand # 0
CBuHOKYP # 0 ⇈
CBuHOCO6AKA # 0
Пиписюнчик.
Джавушки не ма-те-ма-ти-ки. Они не обязаны разбираться в свойствах нуля.
bormand # 0 ⇈
Интересно, растишки тоже по этим граблям проедутся в своём формально корректном языке?
bormand # 0 ⇈
Интересно, растишки тоже по этим граблям проедутся в своём формально корректном языке?
P.S. The ECDSA implementation contained in this crate has never been independently audited for security. Отличное вступление.
bormand # 0 ⇈
guest # 0
ISO # 0 ⇈
Rooster # 0 ⇈
Тото мы не слышали.
ISO # 0 ⇈
guest # 0 ⇈
То есть это такие дебилы которые даже на фоне джавушков дебилы
[email protected] # 0 ⇈
«Ну наконецто, можно будет не писать for(std::unordered_map<std::string, std::vector>::const_iterato r it = some_map.cbegin(); ..., а сразу фигачить for(auto it = some_map.cbegin(); ...»
В Жабу добавляют var, жавушки:
«Такое слово есть в жаваскрипте, не хотим, хотим жрать стекло...»
3.14159265 # 0 ⇈
Именно поэтому я за «Java 8». Там нет никаких «var».
> an attacker can trivially and completely bypass them if your server is running any Java 15, 16, 17, or 18 version before the April 2022 Critical Patch Update (CPU).
> If you have deployed Java 15, Java 16, Java 17, or Java 18 in production then you should stop what you are doing
guest # 0 ⇈
ObeseYoungPidor # 0 ⇈
Rooster # 0
З.Ы. Кукареку! Борманд сорвался!
3.14159265 # 0 ⇈
(если кто ещё помнит этот их багор).
Благодаря выпиливанию проверок, код на «Jawa» работает быстрее чем его тормозные С/С++ аналоги.
nyTuH_nugop # 0 ⇈
guest # 0
Говнокодеры пускай кнопочки на веб-сайте рисуют
ObeseYoungPidor # 0
ObeseYoungPidor # 0
guest # 0 ⇈
> расчёт на инициализацию мусором
> расчёт на инициализацию мусором
Извините, но безопасность моего кода зависит от UB
ISO # 0 ⇈
[email protected] # 0 ⇈
@
Сразу отвечай
Это код, эксплуатирующий уязвимость. Уязвимость в том, что нулевая подпись проходит. В сишке был нормальный чек на ненулёвость.
ObeseYoungPidor # 0 ⇈
@
Уёбку отвечай
bormand # 0 ⇈
После чего некоторые либы выебли по второму разу ненулевой универсальной подписью т.к. проверка должна быть не просто на нулёвость, а по модулю q...
Джавушок не обязан знать ма-те-ма-ти-ку.
Jlou_6JlblKAHAX # 0
3.14159265 # 0
ObeseYoungPidor # 0 ⇈
Jlou_6JlblKAHAX # 0
nyTuH # 0
guest # 0 ⇈
Главный принцип Java гласит: "пиши один раз, запускай везде", что позволет экономить время разработки и не получать вендор лок (крайней важно в современном мире!)
Мощные средства объектно-оринетированного программирования позволяют писать гибкий и мощный, современный и грамотный код
Автоматическое управление памятью избавляет программиста от ручной работы, позволяя сосредоточиться на бизнес-задачах.
Java так же один из самых высокооплачеваемых языков программирования
Присоединяйтесь!
guest # 0 ⇈
Главный принцип PHP гласит: "не нужно быть профессиональным программистом, чтобы программировать", что позволет экономить время разработки и не получать емплои лок (крайней важно в современном мире!)
Остутстие статической типизации избавляет программиста от ручной работы по указанию типов, позволяя сосредоточиться на бизнес-задачах.
Присоединяйтесь!
laravel_enjoyer_ # 0 ⇈
guest # 0
курицы гуляют
https://twitter.com/i_army_org/status/1591572157993197570?cxt=HHwWhICx-b6cs5YsAAAA