How to securely send passwords between Android client and server side application?












2















My current Android application requires users to login with Username and Password.



The Android application calls a REST web service for user login and I do not want to transmit the password as cleartext.



How do I go about securing my users passwords so that the server side can Identify/authenticate each user?



I am currently trying to employ the Jasypt library as follows:-



ConfigurablePasswordEncryptor passwordEncryptor = new ConfigurablePasswordEncryptor();
passwordEncryptor.setAlgorithm("SHA-1");
passwordEncryptor.setPlainDigest(true);
String encryptedPassword = passwordEncryptor.encryptPassword(userPassword);
...
if (passwordEncryptor.checkPassword(inputPassword, encryptedPassword)) {
// correct!
} else {
// bad login!
}


however my server side is written in .NET and as far as I understand the Jasypt documentation the password encryptors employ a random salt.



How can I have my server side code match the hashed users password I am sending it?



All my webservices have HTTPS endpoints, does this guarantee that no one can "see" my users passwords "in flight" when exchanging for an access token?










share|improve this question





























    2















    My current Android application requires users to login with Username and Password.



    The Android application calls a REST web service for user login and I do not want to transmit the password as cleartext.



    How do I go about securing my users passwords so that the server side can Identify/authenticate each user?



    I am currently trying to employ the Jasypt library as follows:-



    ConfigurablePasswordEncryptor passwordEncryptor = new ConfigurablePasswordEncryptor();
    passwordEncryptor.setAlgorithm("SHA-1");
    passwordEncryptor.setPlainDigest(true);
    String encryptedPassword = passwordEncryptor.encryptPassword(userPassword);
    ...
    if (passwordEncryptor.checkPassword(inputPassword, encryptedPassword)) {
    // correct!
    } else {
    // bad login!
    }


    however my server side is written in .NET and as far as I understand the Jasypt documentation the password encryptors employ a random salt.



    How can I have my server side code match the hashed users password I am sending it?



    All my webservices have HTTPS endpoints, does this guarantee that no one can "see" my users passwords "in flight" when exchanging for an access token?










    share|improve this question



























      2












      2








      2








      My current Android application requires users to login with Username and Password.



      The Android application calls a REST web service for user login and I do not want to transmit the password as cleartext.



      How do I go about securing my users passwords so that the server side can Identify/authenticate each user?



      I am currently trying to employ the Jasypt library as follows:-



      ConfigurablePasswordEncryptor passwordEncryptor = new ConfigurablePasswordEncryptor();
      passwordEncryptor.setAlgorithm("SHA-1");
      passwordEncryptor.setPlainDigest(true);
      String encryptedPassword = passwordEncryptor.encryptPassword(userPassword);
      ...
      if (passwordEncryptor.checkPassword(inputPassword, encryptedPassword)) {
      // correct!
      } else {
      // bad login!
      }


      however my server side is written in .NET and as far as I understand the Jasypt documentation the password encryptors employ a random salt.



      How can I have my server side code match the hashed users password I am sending it?



      All my webservices have HTTPS endpoints, does this guarantee that no one can "see" my users passwords "in flight" when exchanging for an access token?










      share|improve this question
















      My current Android application requires users to login with Username and Password.



      The Android application calls a REST web service for user login and I do not want to transmit the password as cleartext.



      How do I go about securing my users passwords so that the server side can Identify/authenticate each user?



      I am currently trying to employ the Jasypt library as follows:-



      ConfigurablePasswordEncryptor passwordEncryptor = new ConfigurablePasswordEncryptor();
      passwordEncryptor.setAlgorithm("SHA-1");
      passwordEncryptor.setPlainDigest(true);
      String encryptedPassword = passwordEncryptor.encryptPassword(userPassword);
      ...
      if (passwordEncryptor.checkPassword(inputPassword, encryptedPassword)) {
      // correct!
      } else {
      // bad login!
      }


      however my server side is written in .NET and as far as I understand the Jasypt documentation the password encryptors employ a random salt.



      How can I have my server side code match the hashed users password I am sending it?



      All my webservices have HTTPS endpoints, does this guarantee that no one can "see" my users passwords "in flight" when exchanging for an access token?







      android .net password-hash jasypt






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 2 at 9:19







      Hector

















      asked Jan 1 at 9:59









      HectorHector

      95894396




      95894396
























          3 Answers
          3






          active

          oldest

          votes


















          0














          If you use Https(TLS) then your password is inaccessible to anyone intercepting the network.



          You should hash the password string in your server side code not in the client






          share|improve this answer
























          • I do not understand why I only need to hash my password on the server side. The users login on the Android application and I have to make a web service call to exchange their username and password for an access token. Does using HTTPS endpoints guarantee that attackers have no way to discover the user names and passwords my application transmit?

            – Hector
            Jan 1 at 10:42











          • @Hector Yes Https does exactly what you need.

            – emad mahouti
            Jan 1 at 12:23



















          0














          You have to be careful about what you do. Consider implementing a common two-factor key-sharing algorithm, such as TOTP.

          A pretty uncommon, but really good practice, is the client-side hashing. This of course doesn't stop the hacker from logging in to the user's account, but it stops them from obtaining the potentially reused plain-text password.

          I recommend that changing E-mail and password are done under the reset password formula, such that E-mail/SMS confirmation is required.
          And finally, as you do it is extremely important that the connection, where the login happens is secure, for example, https/tls.






          share|improve this answer































            -1














            There are couple of things you need to consider while implementing authentication and authorization between client(Mobile app) and server.
            Firstly, what authentication and authorization mechanism does your server have to request api endpoints? (Is it Two-Factor Auth? Is it bearer token (grant-type username and password) based? Is it bearer token (grant-type access-token) based?



            Secondly, as you have mentioned server programming is .Net based but can you be more specific whether your service layer (Api ) written in WebApi 2 or OData ?



            Finally, does your server allow to communicate with or without SSH i.e. HTTP vs HTTPS? If it's with SSH then its okay to transfer user credentials i.e. username and password over othewise it will be never secured to transer credentials over HTTP.



            Then only it comes at your end i.e. in Android Mobile App to impelement the authentication and authorization mechanism as per server requirement to communicate with api endpoints.



            For example, my server requires to implement token-based authentication (bearer token and grant-type password) to make every server request (GET, POST, DELETE, PUT) and I have implemented using retrofit client as like :



             public Retrofit getRetrofitClient() {

            // first add the authorization header
            OkHttpClient mOkClient = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
            @Override
            public Response intercept(Chain chain) throws IOException {
            Request newRequest = chain.request().newBuilder()
            .addHeader("Authorization", "XXXXXXXXXXXX")
            .build();
            return chain.proceed(newRequest);
            }
            }).build();

            if (retrofit==null) {
            retrofit = new Retrofit.Builder()
            .client(mOkClient)
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
            .build();
            }
            return retrofit;
            }


            and my service is



              public interface LoginService {

            @POST("/api/token")
            @FormUrlEncoded
            Call<TokenModel> getToken(@Field("username") String username,
            @Field("password") String password,
            @Field("grant_type") String grantType);

            }


            Now I can use this token in every request to commuicate with server. I don't need to transfer username and password over public internet rather I use just token and it has 24 hours expiration ( as server has implemented this token expiration date).



            Hope it helps you to understand the authenticaiton and authorization mechanism between cleint(Android Mobile App) and server.






            share|improve this answer
























            • my webservices are all HTTPS endpoints; I have to send my users username and password to exchange for an access token. I wish the password to be hashed to ensure its not accessible "in transit".

              – Hector
              Jan 1 at 10:36











            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53994540%2fhow-to-securely-send-passwords-between-android-client-and-server-side-applicatio%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            3 Answers
            3






            active

            oldest

            votes








            3 Answers
            3






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            If you use Https(TLS) then your password is inaccessible to anyone intercepting the network.



            You should hash the password string in your server side code not in the client






            share|improve this answer
























            • I do not understand why I only need to hash my password on the server side. The users login on the Android application and I have to make a web service call to exchange their username and password for an access token. Does using HTTPS endpoints guarantee that attackers have no way to discover the user names and passwords my application transmit?

              – Hector
              Jan 1 at 10:42











            • @Hector Yes Https does exactly what you need.

              – emad mahouti
              Jan 1 at 12:23
















            0














            If you use Https(TLS) then your password is inaccessible to anyone intercepting the network.



            You should hash the password string in your server side code not in the client






            share|improve this answer
























            • I do not understand why I only need to hash my password on the server side. The users login on the Android application and I have to make a web service call to exchange their username and password for an access token. Does using HTTPS endpoints guarantee that attackers have no way to discover the user names and passwords my application transmit?

              – Hector
              Jan 1 at 10:42











            • @Hector Yes Https does exactly what you need.

              – emad mahouti
              Jan 1 at 12:23














            0












            0








            0







            If you use Https(TLS) then your password is inaccessible to anyone intercepting the network.



            You should hash the password string in your server side code not in the client






            share|improve this answer













            If you use Https(TLS) then your password is inaccessible to anyone intercepting the network.



            You should hash the password string in your server side code not in the client







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jan 1 at 10:07









            emad mahoutiemad mahouti

            365




            365













            • I do not understand why I only need to hash my password on the server side. The users login on the Android application and I have to make a web service call to exchange their username and password for an access token. Does using HTTPS endpoints guarantee that attackers have no way to discover the user names and passwords my application transmit?

              – Hector
              Jan 1 at 10:42











            • @Hector Yes Https does exactly what you need.

              – emad mahouti
              Jan 1 at 12:23



















            • I do not understand why I only need to hash my password on the server side. The users login on the Android application and I have to make a web service call to exchange their username and password for an access token. Does using HTTPS endpoints guarantee that attackers have no way to discover the user names and passwords my application transmit?

              – Hector
              Jan 1 at 10:42











            • @Hector Yes Https does exactly what you need.

              – emad mahouti
              Jan 1 at 12:23

















            I do not understand why I only need to hash my password on the server side. The users login on the Android application and I have to make a web service call to exchange their username and password for an access token. Does using HTTPS endpoints guarantee that attackers have no way to discover the user names and passwords my application transmit?

            – Hector
            Jan 1 at 10:42





            I do not understand why I only need to hash my password on the server side. The users login on the Android application and I have to make a web service call to exchange their username and password for an access token. Does using HTTPS endpoints guarantee that attackers have no way to discover the user names and passwords my application transmit?

            – Hector
            Jan 1 at 10:42













            @Hector Yes Https does exactly what you need.

            – emad mahouti
            Jan 1 at 12:23





            @Hector Yes Https does exactly what you need.

            – emad mahouti
            Jan 1 at 12:23













            0














            You have to be careful about what you do. Consider implementing a common two-factor key-sharing algorithm, such as TOTP.

            A pretty uncommon, but really good practice, is the client-side hashing. This of course doesn't stop the hacker from logging in to the user's account, but it stops them from obtaining the potentially reused plain-text password.

            I recommend that changing E-mail and password are done under the reset password formula, such that E-mail/SMS confirmation is required.
            And finally, as you do it is extremely important that the connection, where the login happens is secure, for example, https/tls.






            share|improve this answer




























              0














              You have to be careful about what you do. Consider implementing a common two-factor key-sharing algorithm, such as TOTP.

              A pretty uncommon, but really good practice, is the client-side hashing. This of course doesn't stop the hacker from logging in to the user's account, but it stops them from obtaining the potentially reused plain-text password.

              I recommend that changing E-mail and password are done under the reset password formula, such that E-mail/SMS confirmation is required.
              And finally, as you do it is extremely important that the connection, where the login happens is secure, for example, https/tls.






              share|improve this answer


























                0












                0








                0







                You have to be careful about what you do. Consider implementing a common two-factor key-sharing algorithm, such as TOTP.

                A pretty uncommon, but really good practice, is the client-side hashing. This of course doesn't stop the hacker from logging in to the user's account, but it stops them from obtaining the potentially reused plain-text password.

                I recommend that changing E-mail and password are done under the reset password formula, such that E-mail/SMS confirmation is required.
                And finally, as you do it is extremely important that the connection, where the login happens is secure, for example, https/tls.






                share|improve this answer













                You have to be careful about what you do. Consider implementing a common two-factor key-sharing algorithm, such as TOTP.

                A pretty uncommon, but really good practice, is the client-side hashing. This of course doesn't stop the hacker from logging in to the user's account, but it stops them from obtaining the potentially reused plain-text password.

                I recommend that changing E-mail and password are done under the reset password formula, such that E-mail/SMS confirmation is required.
                And finally, as you do it is extremely important that the connection, where the login happens is secure, for example, https/tls.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 1 at 12:04









                ucMediaucMedia

                1,2863826




                1,2863826























                    -1














                    There are couple of things you need to consider while implementing authentication and authorization between client(Mobile app) and server.
                    Firstly, what authentication and authorization mechanism does your server have to request api endpoints? (Is it Two-Factor Auth? Is it bearer token (grant-type username and password) based? Is it bearer token (grant-type access-token) based?



                    Secondly, as you have mentioned server programming is .Net based but can you be more specific whether your service layer (Api ) written in WebApi 2 or OData ?



                    Finally, does your server allow to communicate with or without SSH i.e. HTTP vs HTTPS? If it's with SSH then its okay to transfer user credentials i.e. username and password over othewise it will be never secured to transer credentials over HTTP.



                    Then only it comes at your end i.e. in Android Mobile App to impelement the authentication and authorization mechanism as per server requirement to communicate with api endpoints.



                    For example, my server requires to implement token-based authentication (bearer token and grant-type password) to make every server request (GET, POST, DELETE, PUT) and I have implemented using retrofit client as like :



                     public Retrofit getRetrofitClient() {

                    // first add the authorization header
                    OkHttpClient mOkClient = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
                    @Override
                    public Response intercept(Chain chain) throws IOException {
                    Request newRequest = chain.request().newBuilder()
                    .addHeader("Authorization", "XXXXXXXXXXXX")
                    .build();
                    return chain.proceed(newRequest);
                    }
                    }).build();

                    if (retrofit==null) {
                    retrofit = new Retrofit.Builder()
                    .client(mOkClient)
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
                    .build();
                    }
                    return retrofit;
                    }


                    and my service is



                      public interface LoginService {

                    @POST("/api/token")
                    @FormUrlEncoded
                    Call<TokenModel> getToken(@Field("username") String username,
                    @Field("password") String password,
                    @Field("grant_type") String grantType);

                    }


                    Now I can use this token in every request to commuicate with server. I don't need to transfer username and password over public internet rather I use just token and it has 24 hours expiration ( as server has implemented this token expiration date).



                    Hope it helps you to understand the authenticaiton and authorization mechanism between cleint(Android Mobile App) and server.






                    share|improve this answer
























                    • my webservices are all HTTPS endpoints; I have to send my users username and password to exchange for an access token. I wish the password to be hashed to ensure its not accessible "in transit".

                      – Hector
                      Jan 1 at 10:36
















                    -1














                    There are couple of things you need to consider while implementing authentication and authorization between client(Mobile app) and server.
                    Firstly, what authentication and authorization mechanism does your server have to request api endpoints? (Is it Two-Factor Auth? Is it bearer token (grant-type username and password) based? Is it bearer token (grant-type access-token) based?



                    Secondly, as you have mentioned server programming is .Net based but can you be more specific whether your service layer (Api ) written in WebApi 2 or OData ?



                    Finally, does your server allow to communicate with or without SSH i.e. HTTP vs HTTPS? If it's with SSH then its okay to transfer user credentials i.e. username and password over othewise it will be never secured to transer credentials over HTTP.



                    Then only it comes at your end i.e. in Android Mobile App to impelement the authentication and authorization mechanism as per server requirement to communicate with api endpoints.



                    For example, my server requires to implement token-based authentication (bearer token and grant-type password) to make every server request (GET, POST, DELETE, PUT) and I have implemented using retrofit client as like :



                     public Retrofit getRetrofitClient() {

                    // first add the authorization header
                    OkHttpClient mOkClient = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
                    @Override
                    public Response intercept(Chain chain) throws IOException {
                    Request newRequest = chain.request().newBuilder()
                    .addHeader("Authorization", "XXXXXXXXXXXX")
                    .build();
                    return chain.proceed(newRequest);
                    }
                    }).build();

                    if (retrofit==null) {
                    retrofit = new Retrofit.Builder()
                    .client(mOkClient)
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
                    .build();
                    }
                    return retrofit;
                    }


                    and my service is



                      public interface LoginService {

                    @POST("/api/token")
                    @FormUrlEncoded
                    Call<TokenModel> getToken(@Field("username") String username,
                    @Field("password") String password,
                    @Field("grant_type") String grantType);

                    }


                    Now I can use this token in every request to commuicate with server. I don't need to transfer username and password over public internet rather I use just token and it has 24 hours expiration ( as server has implemented this token expiration date).



                    Hope it helps you to understand the authenticaiton and authorization mechanism between cleint(Android Mobile App) and server.






                    share|improve this answer
























                    • my webservices are all HTTPS endpoints; I have to send my users username and password to exchange for an access token. I wish the password to be hashed to ensure its not accessible "in transit".

                      – Hector
                      Jan 1 at 10:36














                    -1












                    -1








                    -1







                    There are couple of things you need to consider while implementing authentication and authorization between client(Mobile app) and server.
                    Firstly, what authentication and authorization mechanism does your server have to request api endpoints? (Is it Two-Factor Auth? Is it bearer token (grant-type username and password) based? Is it bearer token (grant-type access-token) based?



                    Secondly, as you have mentioned server programming is .Net based but can you be more specific whether your service layer (Api ) written in WebApi 2 or OData ?



                    Finally, does your server allow to communicate with or without SSH i.e. HTTP vs HTTPS? If it's with SSH then its okay to transfer user credentials i.e. username and password over othewise it will be never secured to transer credentials over HTTP.



                    Then only it comes at your end i.e. in Android Mobile App to impelement the authentication and authorization mechanism as per server requirement to communicate with api endpoints.



                    For example, my server requires to implement token-based authentication (bearer token and grant-type password) to make every server request (GET, POST, DELETE, PUT) and I have implemented using retrofit client as like :



                     public Retrofit getRetrofitClient() {

                    // first add the authorization header
                    OkHttpClient mOkClient = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
                    @Override
                    public Response intercept(Chain chain) throws IOException {
                    Request newRequest = chain.request().newBuilder()
                    .addHeader("Authorization", "XXXXXXXXXXXX")
                    .build();
                    return chain.proceed(newRequest);
                    }
                    }).build();

                    if (retrofit==null) {
                    retrofit = new Retrofit.Builder()
                    .client(mOkClient)
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
                    .build();
                    }
                    return retrofit;
                    }


                    and my service is



                      public interface LoginService {

                    @POST("/api/token")
                    @FormUrlEncoded
                    Call<TokenModel> getToken(@Field("username") String username,
                    @Field("password") String password,
                    @Field("grant_type") String grantType);

                    }


                    Now I can use this token in every request to commuicate with server. I don't need to transfer username and password over public internet rather I use just token and it has 24 hours expiration ( as server has implemented this token expiration date).



                    Hope it helps you to understand the authenticaiton and authorization mechanism between cleint(Android Mobile App) and server.






                    share|improve this answer













                    There are couple of things you need to consider while implementing authentication and authorization between client(Mobile app) and server.
                    Firstly, what authentication and authorization mechanism does your server have to request api endpoints? (Is it Two-Factor Auth? Is it bearer token (grant-type username and password) based? Is it bearer token (grant-type access-token) based?



                    Secondly, as you have mentioned server programming is .Net based but can you be more specific whether your service layer (Api ) written in WebApi 2 or OData ?



                    Finally, does your server allow to communicate with or without SSH i.e. HTTP vs HTTPS? If it's with SSH then its okay to transfer user credentials i.e. username and password over othewise it will be never secured to transer credentials over HTTP.



                    Then only it comes at your end i.e. in Android Mobile App to impelement the authentication and authorization mechanism as per server requirement to communicate with api endpoints.



                    For example, my server requires to implement token-based authentication (bearer token and grant-type password) to make every server request (GET, POST, DELETE, PUT) and I have implemented using retrofit client as like :



                     public Retrofit getRetrofitClient() {

                    // first add the authorization header
                    OkHttpClient mOkClient = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
                    @Override
                    public Response intercept(Chain chain) throws IOException {
                    Request newRequest = chain.request().newBuilder()
                    .addHeader("Authorization", "XXXXXXXXXXXX")
                    .build();
                    return chain.proceed(newRequest);
                    }
                    }).build();

                    if (retrofit==null) {
                    retrofit = new Retrofit.Builder()
                    .client(mOkClient)
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
                    .build();
                    }
                    return retrofit;
                    }


                    and my service is



                      public interface LoginService {

                    @POST("/api/token")
                    @FormUrlEncoded
                    Call<TokenModel> getToken(@Field("username") String username,
                    @Field("password") String password,
                    @Field("grant_type") String grantType);

                    }


                    Now I can use this token in every request to commuicate with server. I don't need to transfer username and password over public internet rather I use just token and it has 24 hours expiration ( as server has implemented this token expiration date).



                    Hope it helps you to understand the authenticaiton and authorization mechanism between cleint(Android Mobile App) and server.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Jan 1 at 10:29









                    IP KaalIP Kaal

                    481420




                    481420













                    • my webservices are all HTTPS endpoints; I have to send my users username and password to exchange for an access token. I wish the password to be hashed to ensure its not accessible "in transit".

                      – Hector
                      Jan 1 at 10:36



















                    • my webservices are all HTTPS endpoints; I have to send my users username and password to exchange for an access token. I wish the password to be hashed to ensure its not accessible "in transit".

                      – Hector
                      Jan 1 at 10:36

















                    my webservices are all HTTPS endpoints; I have to send my users username and password to exchange for an access token. I wish the password to be hashed to ensure its not accessible "in transit".

                    – Hector
                    Jan 1 at 10:36





                    my webservices are all HTTPS endpoints; I have to send my users username and password to exchange for an access token. I wish the password to be hashed to ensure its not accessible "in transit".

                    – Hector
                    Jan 1 at 10:36


















                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53994540%2fhow-to-securely-send-passwords-between-android-client-and-server-side-applicatio%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Monofisismo

                    Angular Downloading a file using contenturl with Basic Authentication

                    Olmecas