【问题标题】:Sending a password to Gmail from my Android javamail app从我的 Android javamail 应用程序向 Gmail 发送密码
【发布时间】:2011-12-19 05:26:49
【问题描述】:

我正在编写一个基于 Javamail API 的 Android 电子邮件客户端应用程序。我可以从中登录 GMail 帐户,但我想确保登录过程实际上是安全的。

所以我使用这样的代码:

Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "usernameEditText.getText().toString()", 
              "passwordEditText.getText().toString()");

由于我不会在任何时候自己存储密码(它们直接从文本框传递并存储在 Google 的服务器中),我很确定我不必担心散列和加密事情,就好像我将密码保存在我自己的数据库中——但这是否安全,或者当我的应用创建的数据包被发送到 Google 的服务器时,用户/密码组合是否可能被拦截?

如果我理解正确,“imaps”商店会确保这是一个 SSL 连接,因此应该对流量进行加密,但我想确保我没有误解。

谢谢!

【问题讨论】:

    标签: android security encryption passwords gmail


    【解决方案1】:

    别担心。 IMAP over SSL 连接中的所有数据均已加密。但是对于发送电子邮件, Transport.send 方法将使用默认的传输协议, 仍然是“smtp”。要启用通过 SSL 的 SMTP 连接,请将 “mail.smtp.ssl.enable”属性为“true”。这通常是最简单的 接近。

    或者,更改默认传输协议 Session.getTransport() 方法通过 SSL 返回到 SMTP,设置 属性“mail.transport.protocol”到“smtps”。要更改 用于 Internet 地址的传输(由 Session.getTransport(Address) 方法,由 Transport.send 使用 方法),使用 session.setProtocolForAddress("rfc822", "smtps");

    您可以在Notes for use of SSL with JavaMail找到更多信息。

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 2012-11-25
      • 2012-12-30
      • 1970-01-01
      • 2015-05-06
      • 1970-01-01
      • 2015-11-25
      • 2013-01-26
      • 1970-01-01
      相关资源
      最近更新 更多