我有一个像这样的用户模型
@Entity
@Table(name="SHOPPER")
public class User extends GenericModel {
@Id
@Column(name="SHRFNBR")
@GeneratedValue(generator="SEQ_SHP", strategy=GenerationType.SEQUENCE)
@SequenceGenerator(name="SEQ_SHP", sequenceName="SEQ_SHP", allocationSize=1)
public Long id;
@Column(name="SHLOGID")
public String email;
@Column(name="SHLPSWD")
public String password;
public static User isUser(String user, String pass){
return User.find("byEmailAndPassword", user, pass).first();
}
}
在 DB 密码上它的 RAW 类型和在控制器上它是用 RSA 编码的。
最主要的是它没有找到任何结果,因为进入数据库的二进制文件似乎与现场的二进制文件不同。
起初我认为这可能是应用程序上的一些字符编码问题,但后来我指向同一个数据库,但在生产中并且它有效。所以我检查了开发数据库,发现另一个字符集而不是ISO-8859-1 (prod) 是ISO-8859-15 (devel),这似乎没什么不同。
更新开发字符集后,情况是一样的。还有其他地方的 RSA 字符串在 DB 上编码错误吗?
进度解析:
该过程是一个登录过程,用户插入电子邮件和密码,最后一个使用 RSA 编码,并将结果发送到 DB 进行比较。
DB 上的字段包含如下值:
CB4F3ECB7763C98EF67CA761700D1FB255F90E4473B1BB594B2238756307DF2D155D57A2CBA2930C162CB0634765D48EA111F743F6825F2457340148F680E300
更多信息:
- 数据库甲骨文 10g
- 播放框架 1.2.4