Size: a a a

2021 March 17

ВШ

Виктор Шиян... in pro.jvm
Data –>MD5 checksum (this is Hex output) –> Base64 encoding
источник

VP

Vladimir Petrakovich in pro.jvm
Виктор Шиян
Data –>MD5 checksum (this is Hex output) –> Base64 encoding
Вот на втором шаге ошибка, хэш - это сырые байты
источник

КВ

Кирилл Веревкин... in pro.jvm
Виктор Шиян
Всем привет. У меня сейчас идёт интеграция с одним гос.сервисом.
Мне нужно туда передавать файлы и в хидере по их документации нужно передать
Content-MD5. Формат там такой pUNXr/BjKK5G2UKvaRRrOA==

И я вот не могу понять что это за фигня.
hash у файла   bbefadefa7e6abdcc8ed43861d73cbe2
base64 от hash MjIzMDE3YjU0NmEyOWNmZTdhYTdmMWVmY2VmYzBiODg=

Никто не сталкивался с таким форматом?Как его получить?
У yandex object storage (базируется на Amazon S3) передается заголовок Content-MD5 и он равен:
128-битный MD5-хэш тела запроса, закодированный base64.
https://cloud.yandex.ru/docs/storage/s3/api-ref/common-request-headers
источник

ВШ

Виктор Шиян... in pro.jvm
Vladimir Petrakovich
Вот на втором шаге ошибка, хэш - это сырые байты
А как должно быть ? То что написал это цитата от сюда http://raaviblog.com/how-to-generate-content-md5-value-base64-encoded-128-bit-md5-of-the-data/
источник

VP

Vladimir Petrakovich in pro.jvm
Виктор Шиян
А как должно быть ? То что написал это цитата от сюда http://raaviblog.com/how-to-generate-content-md5-value-base64-encoded-128-bit-md5-of-the-data/
Просто выход MessageDigest.digest() запихивайте в base64 и всё
источник

А

Азизхон Имомназаров... in pro.jvm
Пишу rest web service когда делаю GET запрос получаю 500
источник

А

Азизхон Имомназаров... in pro.jvm
javax.servlet.ServletException: Servlet.init() для сервлета [jersey-Servlet] выбросил исключение
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 java.lang.Thread.run(Thread.java:748)
Root Cause

java.lang.NoSuchMethodError: org.glassfish.jersey.internal.util.PropertiesHelper.getValue(Ljava/util/Map;Ljavax/ws/rs/RuntimeType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
 org.glassfish.jersey.moxy.json.MoxyJsonFeature.configure(MoxyJsonFeature.java:67)
 org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:712)
 org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:642)
 org.glassfish.jersey.server.ResourceConfig.configureMetaProviders(ResourceConfig.java:810)
 org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:392)
 org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:166)
 org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:327)
 org.glassfish.jersey.internal.Errors$2.call(Errors.java:289)
 org.glassfish.jersey.internal.Errors$2.call(Errors.java:286)
 org.glassfish.jersey.internal.Errors.process(Errors.java:315)
 org.glassfish.jersey.internal.Errors.process(Errors.java:297)
 org.glassfish.jersey.internal.Errors.processWithException(Errors.java:286)
 org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:324)
 org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:336)
 org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170)
 org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)
 javax.servlet.GenericServlet.init(GenericServlet.java:158)
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 java.lang.Thread.run(Thread.java:748)
источник

AE

Alexandr Emelyanov in pro.jvm
Азизхон Имомназаров
javax.servlet.ServletException: Servlet.init() для сервлета [jersey-Servlet] выбросил исключение
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 java.lang.Thread.run(Thread.java:748)
Root Cause

java.lang.NoSuchMethodError: org.glassfish.jersey.internal.util.PropertiesHelper.getValue(Ljava/util/Map;Ljavax/ws/rs/RuntimeType;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
 org.glassfish.jersey.moxy.json.MoxyJsonFeature.configure(MoxyJsonFeature.java:67)
 org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:712)
 org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:642)
 org.glassfish.jersey.server.ResourceConfig.configureMetaProviders(ResourceConfig.java:810)
 org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:392)
 org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:166)
 org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:327)
 org.glassfish.jersey.internal.Errors$2.call(Errors.java:289)
 org.glassfish.jersey.internal.Errors$2.call(Errors.java:286)
 org.glassfish.jersey.internal.Errors.process(Errors.java:315)
 org.glassfish.jersey.internal.Errors.process(Errors.java:297)
 org.glassfish.jersey.internal.Errors.processWithException(Errors.java:286)
 org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:324)
 org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:336)
 org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170)
 org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)
 javax.servlet.GenericServlet.init(GenericServlet.java:158)
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 java.lang.Thread.run(Thread.java:748)
такие портянки на pastebin грузите
источник

А

Азизхон Имомназаров... in pro.jvm
Alexandr Emelyanov
такие портянки на pastebin грузите
не понял
источник

AE

Alexandr Emelyanov in pro.jvm
длинные портянки текста ил логов/стектрейса/кода грузите на pastebin, а сюда уже давайте ссылку. никто такой большой текст в чате смотреть не будет
источник

А

Азизхон Имомназаров... in pro.jvm
Alexandr Emelyanov
длинные портянки текста ил логов/стектрейса/кода грузите на pastebin, а сюда уже давайте ссылку. никто такой большой текст в чате смотреть не будет
ок
источник

ВШ

Виктор Шиян... in pro.jvm
Vladimir Petrakovich
Просто выход MessageDigest.digest() запихивайте в base64 и всё
Спасибо. Вроде всё понял. byte[] -> MessageDigest->base64.encoding(MD.digest)
источник

D

Dima in pro.jvm
wystan_hugh
Господа, вопрос уровня джава-старт. Instant.now() показывает время в UTC формате, а Timestamp.from(Instant.now()) зачем-то конвертит в мою time zone. Самое странное, что это начало случаться только после обновления спринга. Можно как-то сказать jvm, чтобы все было в UTC, спринг бут игнорирует флажок -Duser.timezone=UTC
а зачем тебе вообще TImestamp?
источник

w

wystan_hugh in pro.jvm
Dima
а зачем тебе вообще TImestamp?
Такой маппинг из бд, видимо, какая-то традиция.
источник

D

Dima in pro.jvm
wystan_hugh
Такой маппинг из бд, видимо, какая-то традиция.
а субд какая?
источник

w

wystan_hugh in pro.jvm
Mysql
источник

D

Dima in pro.jvm
а разве не поддерживает ее драйвер java 8 date time типы?
источник

w

wystan_hugh in pro.jvm
Наверное, поддерживает. Могу попробовать поменять все на Instant, например.
источник

w

wystan_hugh in pro.jvm
Просто оно как-то все само нормально работало со спринг-бут 2.1.4, а сейчас при обновлении на 2.4.3 эти timestamp приходящие из базы сдвинуты на мою таймзону. Нежданчик(
источник

AE

Alexandr Emelyanov in pro.jvm
wystan_hugh
Наверное, поддерживает. Могу попробовать поменять все на Instant, например.
забудь про инстант, он тебе не нужен. оперируй конкретными типами, например OffsetDateTime
источник