小编awe*_*old的帖子

在 Java 中实现 SQL CHECKSUM

我在 SQL Server 2008 中有一个现有数据库,它通过存储过程为现有 PHP Web 应用程序执行用户身份验证。Web应用程序向存储过程发送一个字符串,但存储过程存储,并使用SQL Checksum检查该值(http://msdn.microsoft.com/en-us/library/ms189788.aspx ) 检查该值。存储过程将字符串转换为 NVARCHAR(50),并将 CHECKSUM 作为 int 存储在用户表中。

我现在正在现有数据库之上编写一个新的 Java 应用程序,并且正在编写一个自定义 spring 身份验证管理器。我想用 Java 重新实现 CHECKSUM 算法,这样我就不需要调用存储过程来执行转换,但是我找不到任何有关 SQL CHECKSUM 如何工作的文档。

我尝试了以下代码,猜测它是 CRC32,但是它无法返回与 SQL CHECKSUM 相同的值:

String pass = "foobar";
CRC32 crc32 = new CRC32();
crc32.update(pass.getBytes("UTF-16")); //This is due to the stored procedure casting as nvarchar
crc32.getValue();
Run Code Online (Sandbox Code Playgroud)

谁能告诉我 SQL CHECKSUM 使用的算法,以便我可以用 Java 重新实现它?

问题也不在于哪种算法提供最佳的安全哈希值。在此特定情况下,安全性超出了要求,因为我们不准备强制重置系统范围的密码。问题是T-SQL CHECKSUM 使用什么算法,以便可以重新实现它。这个特定的用例用于身份验证,但是在许多不同的应用程序中可能需要这样做。

java t-sql checksum sql-server-2008

5
推荐指数
1
解决办法
2605
查看次数

无法在 WAS 7.0 上将 Websphere WebSphereUowTransactionManager 与 Spring 3.0 一起使用

我们正在尝试从 Spring 1.2.8 升级到 Spring 3.0 但是,当我们尝试为 Websphere 配置 txManager 时,我总是遇到类转换异常。我们根据IBM提供的示例进行了尝试,但不起作用。我正在使用 WAS 7.0、Spring.3.0.5 和 hibernate.3.6.jars...这是 Spring 配置:

        <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="ewpDataSource" />
        <property name="mappingResources">
            <list>
                <value>com/fme/example/model/Person.hbm.xml</value>
            </list>
        </property>

        <property name="hibernateProperties">
     <props>
         <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
         <prop key="hibernate.show_sql">true</prop>
         <prop key="hibernate.format_sql">false</prop>
         <prop key="hibernate.default_schema">ORIG</prop>
         <prop key="hibernate.cglib.use_reflection_optimizer">false</prop>
         <prop key="hibernate.use_sql_comments">true</prop>
        <prop  key="hibernate.transaction.factory_class">
                   org.hibernate.transaction.JTATransactionFactory
                </prop>
              <prop key="hibernate.transaction.manager_lookup_class">
                 org.hibernate.transaction.WebSphereExtendedJTATransactionLookup
              </prop>
    </props>
    </property>
    </bean>

<!--  Our Data source --->
<bean id="ewpDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="jdbc/TOI_ORIG" />
</bean>

<!--- Get the Web sphere Specific TX manager -->
<bean id="transactionManager" …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate

3
推荐指数
1
解决办法
1万
查看次数

春天聚合罐子

是否有一个jar文件聚合Spring 3.0.6发行版中的所有小jar,就像我知道Jetty存在的那些?

java spring

3
推荐指数
1
解决办法
1287
查看次数

2
推荐指数
1
解决办法
1632
查看次数