Class CaptchaImageRenderer.RenderedCaptcha

java.lang.Object
com.sankcrm.erp.auth.infrastructure.captcha.CaptchaImageRenderer.RenderedCaptcha
Enclosing class:
CaptchaImageRenderer

public static final class CaptchaImageRenderer.RenderedCaptcha extends Object
渲染结果仅供服务端挑战编排使用。答案以 SecretKey 类型供项目敏感 JSON 工具脱敏, 并使用 transient 字段且不提供 Bean getter,避免普通 JSON 输出答案明文;图片通过 Bean getter 输出。
  • Constructor Summary

    Constructors
    Constructor
    Description
    RenderedCaptcha(com.sankcrm.erp.common.sensitive.SecretKey answer, String image)
    创建同一挑战对应的答案与展示图片。
  • Method Summary

    Modifier and Type
    Method
    Description
    com.sankcrm.erp.common.sensitive.SecretKey
    仅供服务端计算答案摘要;该方法不是 JavaBean getter,序列化器不得将其作为 JSON 属性。
    提供唯一的 JSON Bean 属性,避免其他内部状态意外序列化。
    兼容内部调用方读取图片的访问器;JSON 序列化使用 getImage()。
    不返回答案明文或图片内容,避免内部结果进入日志时泄漏。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RenderedCaptcha

      public RenderedCaptcha(com.sankcrm.erp.common.sensitive.SecretKey answer, String image)
      创建同一挑战对应的答案与展示图片。
      Parameters:
      answer - 图形验证码答案,仅供服务端计算摘要
      image - PNG 图片 data URL
  • Method Details

    • answer

      public com.sankcrm.erp.common.sensitive.SecretKey answer()
      仅供服务端计算答案摘要;该方法不是 JavaBean getter,序列化器不得将其作为 JSON 属性。
      Returns:
      包含验证码答案明文的敏感值
    • image

      public String image()
      兼容内部调用方读取图片的访问器;JSON 序列化使用 getImage()。
      Returns:
      PNG 图片 data URL
    • getImage

      public String getImage()
      提供唯一的 JSON Bean 属性,避免其他内部状态意外序列化。
      Returns:
      PNG 图片 data URL
    • toString

      public String toString()
      不返回答案明文或图片内容,避免内部结果进入日志时泄漏。
      Overrides:
      toString in class Object