Why are cryptographically secure random number generators required for shared keys?

As I understand, key exchange for secure communications like TLS has a client take a server’s public key, generate a random AES key and send that as a shared key for further communication. The key is generated using a cryptographically secure random number generator where the seed is obtained via system entropy.

I assume a random generator is used to create the key rather than purely from system entropy because it’s faster/easier, but why does the generator have to be cryptographically secure? The benefits of being so are that given any state of the generator, it’s infeasible to predict the next bit, or any of the previously generated ones. However, if an attacker can see the output of the number generator, don’t they already have the AES key anyway? In what scenario would they only ever have part of the key, which they could then exploit the number generator to recover the rest?

I assume I’m misunderstanding it’s purpose.

Web designing services required for cloud hosting website

I need experienced web designer to redesign my cloud hosting web site. Person having experience of developing web hosting, cloud, VPS , dedicated hosting sites will be preferred.

I have few themeforest template in mind, which can be used to develop site or it can be done from scratch.

Do not want wordpress site. Development should be in html/css and core PHP

Please PM me portfolio to start conversation.

Is the user attention required or not?

We are developing ‘Work Experience’ module. You can see the screen as wireframe attached here.

enter image description here enter image description here


  1. The User entered information in 1st block.
  2. After that, he clicked on ‘[+ Add Work Experience]’ button to enable 2nd block ‘Work Experience'(you can see in pic)
  3. But he didn’t enter anything like just empty(2nd block)

my question is-

When I clicked save button, should I show validation errors in 2nd block? or ignore the 2nd block and save 1st block only?

My thoughts on the user perspective, what is the use to show validation errors in 2nd block as it is empty. With this validations, the user again need to work or spend some time on either fill the fields or delete the 2nd block

My observations in a few applications:

Mobile: While creating new contact number in mobile, I added multiple fields like home, office, fax, email, email2 …by clicking on the (+) button of each row. But I entered the number only in the office field. Finally, I tapped the Save button. It saved successfully. When I clicked to edit the number, whatever I clicked before like home, email,.. these are reverted.

Google Contacts: https://contacts.google.com/ I added multiple fields but entered a few fields and pressed save button. Without asking or showing any validation errors it is successfully saved.

The above examples are not mandatory fields. Here my screen has mandatory fields and kind of widgets and overall one save button.

Please share your thoughts and any example if you have seen anywhere. If I am thinking any wrong direction please let me know your suggestion

External user gets ‘Access Required’ could it be down to these two factors?

I have an external user who’s trying to access a SharePoint online site but keeps getting the Access Request page.

I’ve been doing some rooting around and found that when I checked their permissions I get this:

enter image description here

There’s a lot of Deny in that list! I read in another post that I should go to Application Management in Site Collections and select Configure quotas but can’t find Application Management in Online

Also when I was in Active Sites and clicked on the site in question I saw a message on the right hand side saying ‘We couldn’t find the Office 365 group connected to this site’.

Could either or both be causing the access issue and how would I resolve?

Thanks in advance

org.apache.axis2.AxisFault: Transport error: 407 Error: Proxy Authentication Required

He implementado en mi aplicacion de Java (NO Maven, ya que es antigua) un WSDL nuevo que me han adjuntado otro departamente, asi se veria desde SOAP:

<soapenv:Header>      <wsse:Security  xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">         <wsse:UsernameToken>         <wsse:Username>APP-DCTPNSE-CAN-CR1</wsse:Username>         <wsse:Password>NgEsD3WVOn</wsse:Password>         <wsse:Nonce>xmPk+8IAz6tQdJeZMqlAHD==</wsse:Nonce>         <wsu:Created>2019-08-26T08:49:39.410Z</wsu:Created>         </wsse:UsernameToken>     </wsse:Security>       </soapenv:Header>     <soapenv:Body>        <iges:obtenerListaSptosCanal>           <mseObtenerListaSptosCanal>              <datosOperacion>                 <compania>41</compania>                 <!--Optional:-->                 <acuerdo>9</acuerdo>                 <numeroAplicacion>0</numeroAplicacion>                 <numeroSptoAplicacion>0</numeroSptoAplicacion>                 <procedenciaPoliza>22</procedenciaPoliza>                 <plataforma>39</plataforma>                 <poliza>0731900015919</poliza>                 <operacion>CP</operacion>              </datosOperacion>              <datosComunes>                 <!--Optional:-->                 <datosTraduccion>                    <!--Optional:-->                    <codigoIdioma>es_ES</codigoIdioma>                    <!--Optional:-->                    <mcaLiteralTraducido>S</mcaLiteralTraducido>                 </datosTraduccion>                 <!--Optional:-->                 <datosAutorizacion>                    <!--Optional:-->                    <canalContratacion></canalContratacion>                 </datosAutorizacion>              </datosComunes>           </mseObtenerListaSptosCanal>        </iges:obtenerListaSptosCanal>     </soapenv:Body>  </soapenv:Envelope> 

Y asi es el metodo que he creado que la llama:

public ObtenerListaSptosCanalResponseDocument connect (MSEObtenerListaSptosCanal mseObtenerListaSptosCanal){         ObtenerListaSptosCanalResponseDocument datosSalidaServicio = ObtenerListaSptosCanalResponseDocument.Factory.newInstance();         ObtenerListaSptosCanalDocument datosEntrada = ObtenerListaSptosCanalDocument.Factory.newInstance();         ObtenerListaSptosCanalDocument.ObtenerListaSptosCanal datosEntradaObtenerListaSptosCanal = ObtenerListaSptosCanalDocument.ObtenerListaSptosCanal.Factory.newInstance();         try {             IGestionarConsultaPolCanalExport1_IGestionarConsultaPolCanalHttpServiceStub servicio = getServicioY();             datosEntradaObtenerListaSptosCanal.setMseObtenerListaSptosCanal(mseObtenerListaSptosCanal);             datosEntrada.setObtenerListaSptosCanal(datosEntradaObtenerListaSptosCanal);             crearSOAPHeaderBlock soapHeaderBlock = new crearSOAPHeaderBlock();             servicio._getServiceClient().addHeader(soapHeaderBlock.getSoapHeaderBlock());             datosSalidaServicio = servicio.obtenerListaSptosCanal(datosEntrada);         } catch (AxisFault e) {             // TODO Auto-generated catch block             e.printStackTrace();         } catch (RemoteException e) {             // TODO Auto-generated catch block             e.printStackTrace();         } catch (ObtenerListaSptosCanal_msfObtenerListaSptosCanalMsg e) {             // TODO Auto-generated catch block             e.printStackTrace();         } catch (Exception e) {             // TODO Auto-generated catch block             this.servicioY = null;             e.printStackTrace();         }         return datosSalidaServicio;     }       private IGestionarConsultaPolCanalExport1_IGestionarConsultaPolCanalHttpServiceStub getServicioY() throws Exception{         if(this.servicioY == null){             this.servicioY = new IGestionarConsultaPolCanalExport1_IGestionarConsultaPolCanalHttpServiceStub("https://apisb.y.com/srv/IGestionarConsultaPolCanal");             //this.servicioY = new IGestionarConsultaPolCanalExport1_IGestionarConsultaPolCanalHttpServiceStub();             //this.servicioY = new IGestionarConsultaPolCanalExport1_IGestionarConsultaPolCanalHttpServiceStub("http://www.mocky.io/v2/5d4bf29e3100006000a950c0");              Options options = this.servicioY._getServiceClient().getOptions();              HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties();             proxyProperties.setProxyName("proxycorp.geci");             proxyProperties.setProxyPort(8080);             proxyProperties.setUserName("XXX");             proxyProperties.setPassWord("XXX");             options.setProperty(HTTPConstants.PROXY, proxyProperties);             options.setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_11);             options.setProperty(HTTPConstants.SO_TIMEOUT, 1200000);             options.setProperty(HTTPConstants.CONNECTION_TIMEOUT, 1200000);             options.setProperty(HTTPConstants.CHUNKED, Boolean.FALSE);              HttpTransportPropertiesImpl.Authenticator auth = new HttpTransportPropertiesImpl.Authenticator();             auth.setUsername("YYYY");             auth.setPassword("YYYY");              options.setProperty(HTTPConstants.AUTHENTICATE, auth);             options.setProperty(Constants.Configuration.DISABLE_SOAP11, Boolean.TRUE);             System.out.println("https: " + HTTPTransportConstants.PROTOCOL_HTTPS);         }          return this.servicioY;     } 

Cuando ejecuto la aplicación me da un error en la linea:

datosSalidaServicio = servicio.obtenerListaSptosCanal(datosEntrada);

que es el siguiente:

[err] org.apache.axis2.AxisFault: Transport error: 407 Error: Proxy Authentication Required [err] at org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl.handleResponse(HTTPSenderImpl.java:343) [err] at org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl.sendViaPost(HTTPSenderImpl.java:213) org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:121) [err] at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:403) [err] at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:234) [err] at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:431) [err] at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:399) [err] at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225) [err] at org.apache.axis2.client.OperationClient.execute(OperationClient.java:150) [err] at evt21_intca_gestionarconspolizacanal_slib.igestionarconsultapolcanal.IGestionarConsultaPolCanalExport1_IGestionarConsultaPolCanalHttpServiceStub.obtenerListaSptosCanal(IGestionarConsultaPolCanalExport1_IGestionarConsultaPolCanalHttpServiceStub.java:545) [err] at es.xxx.n0810.aplS10.servicioyyy.ObtenerListaSptosCanalWS.connect(ObtenerListaSptosCanalWS.java:163) [err] at es.xxx.n0810.aplS10.servicioyyy.ObtenerListaSptosCanalWS.llamadaWS(ObtenerListaSptosCanalWS.java:85) [err] at es.xxx.n0810.aplS10.negocio.NegocioClientes.ListadosSuplementos.realizarConsultaMapreHogar(ListadosSuplementos.java:573) [err] at es.xxx.n0810.aplS10.negocio.NegocioClientes.ListadosSuplementos.consultarSuplementos(ListadosSuplementos.java:107) [err] at es.xxx.n0810.aplS10.servlet.ClienteBuscarServlet._doPost(ClienteBuscarServlet.java:242) [err] at es.xxx.n0810.aplS10.servlet.HttpServletGenerico.doPost(HttpServletGenerico.java:54) [err] at javax.servlet.http.HttpServlet.service(HttpServlet.java:595) [err] at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) [err] at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1274) [err] at [internal classes] [err] Caused by: java.net.UnknownHostException: apisb.yyyy.com [err] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178) [err] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) [err] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) [err] at java.net.Socket.connect(Socket.java:579) [err] at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)

El metodo que llama es el siguiente(estar en un .jar):

 public ObtenerListaSptosCanalResponseDocument obtenerListaSptosCanal(ObtenerListaSptosCanalDocument obtenerListaSptosCanal2) /*      */     throws java.rmi.RemoteException, ObtenerListaSptosCanal_msfObtenerListaSptosCanalMsg /*      */   { /*  510 */     MessageContext _messageContext = new MessageContext(); /*      */     try /*      */     { /*  513 */       OperationClient _operationClient = this._serviceClient.createClient(this._operations[1].getName()); /*  514 */       _operationClient.getOptions().setAction("http://EVT21_INTCA_GestionarConsPolizaCanal_SLIB/IGestionarConsultaPolCanal/IGestionarConsultaPolCanal/obtenerListaSptosCanalRequest"); /*      */        /*  516 */       _operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true); /*      */        /*  518 */       addPropertyToOperationClient(_operationClient, "whttp:queryParameterSeparator", "&"); /*      */        /*      */  /*      */  /*      */  /*  523 */       SOAPEnvelope env = null; /*      */        /*  525 */       env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), obtenerListaSptosCanal2, optimizeContent(new QName("http://EVT21_INTCA_GestionarConsPolizaCanal_SLIB/IGestionarConsultaPolCanal", "obtenerListaSptosCanal")), new QName("http://EVT21_INTCA_GestionarConsPolizaCanal_SLIB/IGestionarConsultaPolCanal", "obtenerListaSptosCanal")); /*      */        /*      */  /*      */  /*      */  /*      */  /*      */  /*      */  /*      */  /*      */  /*      */  /*      */  /*  537 */       this._serviceClient.addHeadersToEnvelope(env); /*      */        /*  539 */       _messageContext.setEnvelope(env); /*      */        /*      */  /*  542 */       _operationClient.addMessageContext(_messageContext); /*      */        /*      */  /*  545 */       _operationClient.execute(true); /*      */        /*  547 */       MessageContext _returnMessageContext = _operationClient.getMessageContext("In"); /*  548 */       SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope(); /*      */        /*  550 */       Object object = fromOM(_returnEnv.getBody().getFirstElement(), ObtenerListaSptosCanalResponseDocument.class); /*      */        /*      */  /*      */  /*  554 */       return (ObtenerListaSptosCanalResponseDocument)object; 

En cambio ejecutando en la herramienta de Postman me funciona la llamada y me devuelve datos ¿Podéis ayudarme?

Are personality traits, ideals, bonds, and flaws required?

The group I am getting ready to dm for sat down last Wednesday to do character building together. after a little discussion, the players started building their characters. Two of the players shortly thereafter proudly announced they were finished and were looking them over and I noticed that they hadn’t selected any of the aforementioned features. They then argued they didn’t need to because they knew their character. I didn’t make to much of an issue at the time because I couldn’t figure out if they were right or not.

Please help enlighten me as to the purpose of them and if they are important or not.

What is the minimal degree $d$ required for a B tree with $44*10^6 $ keys so that it’s height is less than or equal to $5$

What is the minimal degree $ d$ required so a B – tree with $ 44*10^6$ keys will have a height $ h$ , such that $ h\leq 5$

My attempt was to build the tallest tree possible with minimum degree $ d$ and $ n = 44,000,000$ keys and then solve for $ d$ . That would mean any other tree with a minimal degree $ d’$ such that $ d’\geq d$ and $ n$ keys will be shorter than the one I built:

at depth 0 , we have the root and that’s $ 1$ node

at depth 1, we got exactly $ 2$ nodes

at depth 2, since we’re going for the tallest tree each node will have a minimal number of keys so $ d-1$ keys each, that means $ d$ children each so a total of $ 2d$ nodes.

at depth 3, following the same reasoning , $ 2d^2$ nodes.

at depth $ h$ , there are $ 2d^{h-1}$ nodes

total number of keys is :

$ n = 1+ (d-1)\sum_{k=0}^{h-1} {2d^k} = 1 + (d-1) \frac{2(d^h-1)}{d-1} = 2d^h-1 = 44*10^6 $


$ 2d^5-1=44,000,000 $

$ d= 29.4 $

$ d\geq 30$

is that even correct ?