JLDAP source from OpenLdap does not match current package

The wiki page for the JLDAP downloads ('LDAP Classes for Java -
Developer Community' (http://developer.novell.com/wiki/index.php/Jldap))
indicates "Source code matching this release is available through the
OpenLDAP Open Source initiative." Unfortunately, the current packages
(which have needed bug fixes) were modified in 2009, but the most
current source on the OpenLDAP site is from 2008. Consequently, we don't
have source that we can use to debug during development, which is
hindering our ability to effectively develop new functionality against
eDirectory. Is there a plan to get the most up-to-date source available?
mkilpatr
mkilpatr's Profile: http://forums.novell.com/member.php?userid=10119
View this thread: http://forums.novell.com/showthread.php?t=413181

mkilpatr;1987221 Wrote:
> The wiki page for the JLDAP downloads ('LDAP Classes for Java -
> Developer Community' (http://developer.novell.com/wiki/index.php/Jldap))
> indicates "Source code matching this release is available through the
> OpenLDAP Open Source initiative." Unfortunately, the current packages
> (which have needed bug fixes) were modified in 2009, but the most
> current source on the OpenLDAP site is from 2008. Consequently, we don't
> have source that we can use to debug during development, which is
> hindering our ability to effectively develop new functionality against
> eDirectory. Is there a plan to get the most up-to-date source available?
Hi,
The source can not be different, because there is only on source
repository and that is OpenLDAP. Even the Novell's libraries are built
from the OpenLDAP Source only. The source changes and bug fixes from all
the JLDAP maintainers (both from and outside Novell) wil be checked in
to OpenLDAP's JLDAP repository only.
-WITH REGARDS,-
*-Palaniappan N-*
palaniappan1's Profile: http://forums.novell.com/member.php?userid=12325
View this thread: http://forums.novell.com/showthread.php?t=413181

Similar Messages

  • Enprise JC error: series period does not match current period

    I want to make create invoice from Enprise Job Costing Contract. There are some lines in Contract Detail but I want to process only two of them. I put the amount in Invoice Now, Post Date, and Invoice Due Date. 
    The invoice is supposed to be from previous posting period (the previous month/year) so I search the correct series number in Invoice No. drop-down list in the Job Costing Contract form. But the available options are only manual and serial number of current period. If I click Process Invoice Now button, I get error message: Error creating invoice: series period does not match current period
    I tried to change the settings from Administration > System Initialization > Document Numbering to set the numbering series to previous period but so far nothing changed, and I still can not create invoice.
    I currently use SAP B1 8.8 PL 13 and Enprise Job Costing 8.8 (version 8.80.101)
    Anybody can help me? Thank you in advance for any good advice.

    Hi Sandy,
    your SAP support partner will be able to register a ticket on the Enprise Support Portal to have this investigated for you, Enprise do not answer questions directly from this forum.
    Having said that... it sounds as though the invoice numbering series you are trying to use is only valid for a specific year.  Did you make sure you also changed the Invoice Date (top right side of screen) to be in the same year?
    kind regards,
    Cathy

  • Payment Wizard - Series period does not match current period

    Hi All,
    I've a problem during creation of Incoming Payment through Payment Wizard.
    0 payments were added at the end of creation Incoming Payments--> Bill of Exchange  using Payment Wizard.
    In Non-Included Transactions  I can read: series period does not match current period
    I've examinated the incaming payment's numbering series and the relate series to document and everything seems ok, so I don't understand the reason of error.
    If I try to add the same Incoming payment> Bill of exchange manually in Banking>Incoming Paymenti-->Incoming Payment (without Payment Wizard) it works perfectly!!!
    Can you help me?
    Simona

    Hi Simona,
    In step 2 of the Payment Wizard, please check that you have selected the correct series for Incoming Payment at the bottom of the screen.
    Hope it helps,
    Jesper

  • Series period does not match current period

    Dear Experts...
    I got error when update UDF in A/R Invoice form year 2010-11. Year 2010-11 is unlocked and in Document Numbering series it is locked.
    Error is Series period does not match current period
    How to fix this issue?
    Any help will be appreciated.
    Regards,
    Ravi

    Dear Ravi,
    First unlock your All  A/R document numbring series.
    Than go to posting period and unlock you all posting period.
    than try and let me know.
    Waiting form you reply.
    Mangesh Pagdhare.

  • The serial number on my new boxed photoshop bought from Staples does not match the required number of numbers to install. Help

    The serial number on my new boxed photoshop bought from Staples does not match the required number of numbers to install. Help

    You’ve posted your comment in the Adobe Creative Cloud forum.  Adobe Creative Cloud doesn’t use serial numbers.  Does this page help with determining what to do with the number you have:
    http://helpx.adobe.com/x-productkb/global/redemption-code-help.html

  • Archive sequence number from standby does not match primary

    I have two unix servers configured, one as primary and one as standby, both in 11.2.0.2. When I run the verification scripts, I noticed that my standby's archive log sequence does not match the primary.
    From standby:
    select database_role, open_mode from v$database; Result: PHYSICAL STANDBY, MOUNTED
    select max(sequence#) from v$archived_log; Result is null
    archive log list;Database log mode Archive Mode
    Automatic archival Enabled
    Archive destination /arch/standby
    Oldest online log sequence 0
    Next log sequence to archive 0
    Current log sequence 0

    Hello;
    I don't think you have Data Guard working.
    select max(sequence#) from v$archived_log; This should return a number.
    Do an alter system switch logfile; on the primary, I'm thinking the new log never makes it to your standby.
    Once you have this working consider running something like this from your Primary:
    SELECT name as STANDBY, SEQUENCE#, applied, completion_time from v$archived_log WHERE DEST_ID = 2 AND NEXT_TIME > SYSDATE -1;
    select max(sequence#) from v$archived_log where NEXT_TIME > sysdate -1;
    You can change the first query to include both the Primary and the Standby.
    Best Regards
    mseberg

  • SPAM/SAINT - OCS package does not match current software component vector

    Hello Experts,
    This could happen on any type of system I suspect, but it is on my Solution Manager (7.01 on Eh1). I downloaded a support stack (27)and was checking the components requirements.  I use the  Directory box in SPAM, and I go into New Support Packages. I highlight the support package for ST 400 then click on the Queue button.   It comes back with this message: OCS package SAPKITL437 does not match the current software component vector.
    I click continue and the requirements window comes up. It shows that I have currently loaded the wrong BI_Content.  It says:  Non-permitted release of add-on BI_CONT installed.  The release information is BI_CONT,706.
    If I go back to the main window to look at the current package level, I see that BI_CONT  component release (loaded) is 704 - sp 8. 
    I must have gotten very creative when loading that back in 2008.  MOPZ was used, but it was before the support stack restrictions were in place on my system.
    I can't get around this issue, because even trying to load the Basis support package I get this message. 
    If anyone has had the problem and knows what to do I would appreciate some help.  Notes searching has not found anything.     So far my Customer message  has not been helpfull, but it is not SAP support .
    Pat

    Hi Patricia,
    Please, check prerequisites for SAPKITL437 in SPAM.
    It seems like you need to install/update some components in SAINT before.
    From official note: https://service.sap.com/sap/support/notes/1274287
    "Requirements with component ST400 for SP27
    -  Support Package 00 for BI_CONT 706 (SAPK-706BHINBICONT)
    -  Support Package 00 for ST-BCO 400 (SAPK-400AGINSTBCO)"
    Additional info: https://service.sap.com/sap/support/notes/1169247
    Best Regards,
    Aleh
    Edited by: Aleh Mikhniuk on Jul 20, 2011 1:59 PM

  • OpenLDAP: does not match filter

    Hi,
    we are using Deltek timeentry running on WebLogic and want to authenticate the users against out openLDAP server. (We already successfully authenticate two other groups of users against AD)
    Now we created a third authenticator to the configuration using "OpenLDAPAuthenticator" and set the parameters accordingly.
    In the log file of the LDAP-server we could see, that the principal can successfully bind to the server and tries to search for the user that is logging in.
    But when searching for the user it uses the following filter:
       (&(&(objectClass=posixAccount)(uid=foobar))(?=error))
    which in the end results in:
       bdb_search: 548 does not match filte
    In the authenticator setup we only entered:
       (&(objectClass=posixAccount)(uid=%u)
    Where does the "(?=error)" come from - it seems, that this is causing the "does not match filter" ...
    Any hint appreciated!
    Thanks,
    Thomas
    P.S.: I'm completely new to WebLogic - so this post might lack some needed informations ;-)

    hi all,
    while deploying the application i am getting this excepiton.
    Exception:weblogic.management.ApplicationException: prepare failed for decevalweblogic.jar Module: decevalweblogic.jar Error: Exception preparing module: EJBModule(decevalweblogic.jar,status=NEW) Unable to deploy EJB: C:\beaweblogic\weblogic81\samples\domains\examples\.\examplesServer\.wlnotdelete\deceval\decevalweblogic.jar from decevalweblogic.jar: weblogic.ejb20.deployer.DeploymentDescriptorException: Unable to load a class specified in your ejb-jar.xml: Class bytes found but defineClass()failed for: 'com.deceval.siidj.siidserver.ParametrosObj' at weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.initializeBeanInfos(MBeanDeploymentInfoImpl.java:550) at weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.<init>(MBeanDeploymentInfoImpl.java:232) at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1302) at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498) at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3101) at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1560) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1208) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1051) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2444) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2394) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2310) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866) at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    * [Deployer:149033]preparing application deceval on examplesServer
    * [Deployer:149033]failed application deceval on examplesServer
    * [Deployer:149034]An exception occurred for task [Deployer:149026]Deploy application deceval on examplesServer.: Exception:weblogic.management.ApplicationException: prepare failed for decevalweblogic.jar Module: decevalweblogic.jar Error: Exception preparing module: EJBModule(decevalweblogic.jar,status=NEW) Unable to deploy EJB: C:\beaweblogic\weblogic81\samples\domains\examples\.\examplesServer\.wlnotdelete\deceval\decevalweblogic.jar from decevalweblogic.jar: weblogic.ejb20.deployer.DeploymentDescriptorException: Unable to load a class specified in your ejb-jar.xml: Class bytes found but defineClass()failed for: 'com.deceval.siidj.siidserver.ParametrosObj' at weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.initializeBeanInfos(MBeanDeploymentInfoImpl.java:550) at weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.<init>(MBeanDeploymentInfoImpl.java:232) at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1302) at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498) at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3101) at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1560) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1208) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1051) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2444) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2394) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2310) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866) at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178) .
    please help me
    thanks in advance
    krishna

  • Printing from Illustrator does not match Photoshop

    I have CS3. The colorsuite is matched across all platforms so colour profiles are all the same.
    I print pure cmyk colours in a document, so one square is cyan, another magenta and so on.
    When I print from photoshop, it prints the colours correct. Each colour is printed from each printers colour cartridge directly. But when I print from Illustrator, its not printing purely. The colours are darker and have mixed colours under a magnifier.
    Ive tested on different printers and with colour management off on their drivers so should use adobes.
    Any ideas why Illustrator is coming out muddier? Many thanks in advance.

    Yes the mode is definately CMYK in photoshop. See the images attached of scanned closeup of the print out of yellow.
    Yellow below is how it looks when printing from Illustrator and Acrobat. You can see its added dots to it.
    Yellow below is from Photoshop. You can see its pure yellow which is what I want.
    Edit: Just tried Overprint: Simulate in Acrobat. No change.
    Edit2: "I would like to know what's the definition of "correct"?" For a start Magenta looks like a dark red. Cyan is blue but a dark shade of it.

  • I purchased Lightroom from Amazon.  When I go to register, the license key from amazon does not match the fields in the software.  I am stuck.

    I need help registering Lightroom.  Purchased from Amazon.  The license key Amazon provided did not match the fields when activating the software.  Help!

    Maybe Amazon provided a redemption code not a license key:
    https://redeem.licenses.adobe.com/getserial

  • System fiscal year in co code does not match current fiscal year.

    Hi
    I have seen this problem.I  did run some closing steps and this error gone . Can some one please explain some logic behind this error ? Because I am sure i have not done any specific transaction to match the system fiscal year and current fiscal year then how this error gone away ?
    I have checked the other posts on this forum related to this error but still feel to ask for clarity of concept.
    Thanks in advance
    Satya

    Hi Satya,
    Ex:
    FY is 2011 ( for US)
    compny code FY may / may not same as system FY.
    for Business adjust ment / Financial Adjustments client not close previous FY.
    now if you check your system, Comp Code FY is 2010 & System FY is 2011.
    Company Code Closing FY T.Code: OAAQ
    Tables need to chek for conformation year end activities done/not: TABA, T093B, T093C
    Regards,
    Viswa

  • Album cover view for Radio does not match current song playing

    I'm currently listening to the Pop Genre radio station. The play list for this station has clearly been updated recently. I listen to this often and there are many new songs currently on. Something strange has happened with this most recent update. The album cover view no longer matches the song currently playing, so you can no longer use the Thumbs Up or Thumbs Down function to improve the station play list.

    Can you try reinstalling Spotify to see if this fixes the problem?
    There have been several reports of this recently and everyone was able to solve this by reinstalling. 

  • Unique Identifier of the source style does not match the target st

    I'm running into a bunch of problems with an export/import, but I'll limit myself to the more opaque ones for the moment. We've got a page group in place and are trying to overwrite it, or at least parts of it, with a revised version. The export appears to succeed, but the pre-check (and consequently, it appears, the entire import) fails. One of the few specific errors has to do with a style:
    [ERROR] id = NULL context = style_pre_check user = PORTAL The Unique Identifier of the source style MY_STYLE does not match the target style MY_STYLE.
    The style in question exists in both our development environment (from which we're exporting) and our target environment (into which we're importing, of course). It hasn't even been changed in the development environment, so it's identical to what it's replacing. Does anybody know what's going on here and how it might be fixed?

    This indicates the style in the production did not come from the same development system as the one you're attempting the new import from. Also, this could happen, if for some reason you had deleted the style in the development after it was deployed to production and (re-) created a new style with the same name.
    In order for pre-check to succeed, you would need to either rename the style on the production or rename it on development and re-export and import the transport set again.

  • DBMS_CRYPTO MD5 hash value does not match 3rd party MD5 free tool

    Hello,
    I am using Oracle Version: 11.2.4.
    I have a problem where the MD5 value from DBMS_CRYPTO does not match the hash value from 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) and also the MD5 hash value calculated by an ingestion tool where I am transferring files to. The MD5 hash value that the ingestion tool calculates is the same as the 3rd party MD5 free tools I have. This occurs only on some of the XML files that I generate using XSQL(xmlserialize, xmlagg, xmlelement, etc.) and DBMS_XSLPROCESSOR on a Linux OS. The XML files are transferred from the Unix OS to my Windows 7 OS via filezilla.
    I found a thread on this forum that also had a similar issue so I copy/paste the java functions. They are listed below(both are the same expect for the character set):
    create or replace java source named "MD5_UTF_8" as
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.sql.Clob;
    import java.sql.Blob;
    public class MD5_UTF_8 {
    private static final byte [] hexDigit = {
    '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
    /** Converts a byte array to a hex string
    * Returns an empty string if the byte array is null
    public static final String toHexString(byte [] bytes) {
    if (bytes == null) return new String("");
    StringBuffer buf = new StringBuffer(bytes.length * 2);
    for (int i = 0; i < bytes.length; i++) {
    buf.append((char) hexDigit[((bytes >>> 4) & 0x0F)]);
    buf.append((char) hexDigit[(bytes & 0x0F)]);
    return buf.toString();
    // Convert Hex String to Byte Array
    public static final byte[] byteArrayFromHexString(String str) {
    byte[] bytes = new byte[str.length() / 2];
    for (int i = 0; i < bytes.length; i++)
    bytes = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
    return bytes;
    public static String getMD5HashFromClob(Clob inhalt) throws Exception{
    MessageDigest algorithm;
    StringBuffer hexString;
    String s = null;
    String salida = null;
    int i;
    byte[] digest;
    String tepFordigest = inhalt.getSubString(1L, (int)inhalt.length());
    try {
    algorithm = MessageDigest.getInstance("MD5_UTF_8");
    algorithm.reset();
    algorithm.update(tepFordigest.getBytes("UTF-8"));
    digest = algorithm.digest();
    s = toHexString(digest);
    } catch (java.security.NoSuchAlgorithmException nsae) {
    s = "No es posible cifrar MD5";
    return s;
    sho err
    alter java source "MD5_UTF_8" compile
    sho err
    CREATE OR REPLACE FUNCTION get_md5_UTF_8_CLOB(inhalt CLOB) RETURN VARCHAR2 DETERMINISTIC
    AS LANGUAGE JAVA
    name 'MD5_UTF_8.getMD5HashFromClob(java.sql.Clob) return java.lang.String';
    create or replace java source named "MD5" as
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.sql.Clob;
    import java.sql.Blob;
    public class MD5 {
    private static final byte [] hexDigit = {
    '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
    /** Converts a byte array to a hex string
    * Returns an empty string if the byte array is null
    public static final String toHexString(byte [] bytes) {
    if (bytes == null) return new String("");
    StringBuffer buf = new StringBuffer(bytes.length * 2);
    for (int i = 0; i < bytes.length; i++) {
    buf.append((char) hexDigit[((bytes >>> 4) & 0x0F)]);
    buf.append((char) hexDigit[(bytes & 0x0F)]);
    return buf.toString();
    // Convert Hex String to Byte Array
    public static final byte[] byteArrayFromHexString(String str) {
    byte[] bytes = new byte[str.length() / 2];
    for (int i = 0; i < bytes.length; i++)
    bytes = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
    return bytes;
    public static String getMD5HashFromClob(Clob inhalt) throws Exception{
    MessageDigest algorithm;
    StringBuffer hexString;
    String s = null;
    String salida = null;
    int i;
    byte[] digest;
    String tepFordigest = inhalt.getSubString(1L, (int)inhalt.length());
    try {
    algorithm = MessageDigest.getInstance("MD5");
    algorithm.reset();
    algorithm.update(tepFordigest.getBytes());
    digest = algorithm.digest();
    s = toHexString(digest);
    } catch (java.security.NoSuchAlgorithmException nsae) {
    s = "No es posible cifrar MD5";
    return s;
    sho err
    alter java source "MD5" compile
    sho err
    CREATE OR REPLACE FUNCTION get_md5_CLOB(inhalt CLOB) RETURN VARCHAR2 DETERMINISTIC
    AS LANGUAGE JAVA
    name 'MD5.getMD5HashFromClob(java.sql.Clob) return java.lang.String';
    I created the above java functions and added the calls to them in my package to see what hash values they would produce but I am getting "ORA-29532: Java call terminated by uncaught Java exception: java.nio.BufferOverflowException " the XML is about 60mb.
    package code sniippets:
    declare
    l_hash raw(2000);
    l_checksum_md5 varchar2(2000);
    l_checksum_md5_utf_8 varchar2(2000);
    Begin
    t_checksum := lower(RAWTOHEX(dbms_crypto.hash(src=>l_clob,typ=>dbms_crypto.hash_md5)));
    l_hash := get_md5_CLOB (l_clob);
    l_checksum_md5 := lower(rawtohex(l_hash));
    l_hash := get_md5_UTF_8_CLOB (l_clob);
    l_checksum_md5_UTF_8 := lower(rawtohex(l_hash));Please help,
    Thank You in advance
    Don
    Edited by: 972551 on Nov 21, 2012 12:18 PM
    Edited by: sabre150 on Nov 21, 2012 11:06 PM
    Moderator action : added [code ] tags to format properly. In future please add them yourself.

    >
    I have a problem where the MD5 value from DBMS_CRYPTO does not match the hash value from 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) and also the MD5 hash value calculated by an ingestion tool where I am transferring files to. The MD5 hash value that the ingestion tool calculates is the same as the 3rd party MD5 free tools I have.
    I found a thread on this forum that also had a similar issue so I copy/paste the java functions.
    >
    And in that thread (Re: MD5 HASH computed from DBMS_CRYPTO does not match .NET MD5 I provided the reason why DBMS_CRYPTO may not match hashes produced by other methodologies.
    I have no idea why you copied and posted all of that Java code the other poster and I provided since code has NOTHING to do with the problem you say you are having. Thte other poster's question was how to write Java code that would produce the same result as DBMS_CRYPTO.
    You said your problem was understanding why DBMS_CRYPTO 'does not match the hash value from 3rd party MD5 free tool ...'. and I answered that in the other forum.
    >
    The Crypto package always converts everything to AL32UTF8 before hashing so if the .NET character set is different the hash will likely be different.
    See DBMS_CRYPTO in the PL/SQL Packages and Types doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_crypto.htm
    If you look at the spec header for the DBMS_CRYPTO package it shows this note:
    -- Prior to encryption, hashing or keyed hashing, CLOB datatype is
    -- converted to AL32UTF8. This allows cryptographic data to be
    -- transferred and understood between databases with different
    -- character sets, across character set changes and between
    -- separate processes (for example, Java programs).
    -- If your 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) do not use the AL32UTF8 character set then the hashes will likely be different. You can't modify DBMS_CRYPTO so if the hashes need to match you need to use 3rd party tools that either use the correct character set or can be configured to use the correct character set.
    The problem in the other thread was how to WRITE Java code that uses the correct character set and I showed that OP how to do that.
    So unless you are writing your own Java code all of that code you copied and pasted is useless for your use case.

  • DBMS_CRYTPO MD5 value does NOT match 3rd party MD5 tools

    Hello,
    I am using Oracle Version: 11.2.4.
    I have a problem where the MD5 value from DBMS_CRYPTO does not match the hash value from 3rd party MD5 free tool (MD5 Checksum Calculator 0.0.5.58 or WinMD5Free v1.20) and also the MD5 hash value calculated by an ingestion tool where I am transferring files to. The MD5 hash value that the ingestion tool calculates is the same as the 3rd party MD5 free tools I have. This occurs only on some of the XML files that I generate using XSQL(xmlserialize, xmlagg, xmlelement, etc.) and DBMS_XSLPROCESSOR on a Linux OS. The XML files are transferred from the Unix OS to my Windows 7 OS via filezilla.
    I found a thread on this forum that also had a similar issue so I copy/paste the java functions. They are listed below(both are the same expect for the character set):
    create or replace java source named "MD5_UTF_8" as
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.sql.Clob;
    import java.sql.Blob;
    public class MD5_UTF_8 {
    private static final byte [] hexDigit = {
         '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
    /** Converts a byte array to a hex string
    * Returns an empty string if the byte array is null
    public static final String toHexString(byte [] bytes) {
    if (bytes == null) return new String("");
    StringBuffer buf = new StringBuffer(bytes.length * 2);
    for (int i = 0; i < bytes.length; i++) {
    buf.append((char) hexDigit[((bytes[i] >>> 4) & 0x0F)]);
    buf.append((char) hexDigit[(bytes[i] & 0x0F)]);
    return buf.toString();
    // Convert Hex String to Byte Array
    public static final byte[] byteArrayFromHexString(String str) {
    byte[] bytes = new byte[str.length() / 2];
    for (int i = 0; i < bytes.length; i++)
    bytes[i] = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
    return bytes;
    public static String getMD5HashFromClob(Clob inhalt) throws Exception{
    MessageDigest algorithm;
    StringBuffer hexString;
    String s = null;
    String salida = null;
    int i;
    byte[] digest;
    String tepFordigest = inhalt.getSubString(1L, (int)inhalt.length());
    try {
    algorithm = MessageDigest.getInstance("MD5_UTF_8");
    algorithm.reset();
    algorithm.update(tepFordigest.getBytes("UTF-8"));
    digest = algorithm.digest();
    s = toHexString(digest);
    } catch (java.security.NoSuchAlgorithmException nsae) {
    s = "No es posible cifrar MD5";
    return s;
    sho err
    alter java source "MD5_UTF_8" compile
    sho err
    CREATE OR REPLACE FUNCTION get_md5_UTF_8_CLOB(inhalt CLOB) RETURN VARCHAR2 DETERMINISTIC
    AS LANGUAGE JAVA
    name 'MD5_UTF_8.getMD5HashFromClob(java.sql.Clob) return java.lang.String';
    create or replace java source named "MD5" as
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.sql.Clob;
    import java.sql.Blob;
    public class MD5 {
    private static final byte [] hexDigit = {
         '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
    /** Converts a byte array to a hex string
    * Returns an empty string if the byte array is null
    public static final String toHexString(byte [] bytes) {
    if (bytes == null) return new String("");
    StringBuffer buf = new StringBuffer(bytes.length * 2);
    for (int i = 0; i < bytes.length; i++) {
    buf.append((char) hexDigit[((bytes[i] >>> 4) & 0x0F)]);
    buf.append((char) hexDigit[(bytes[i] & 0x0F)]);
    return buf.toString();
    // Convert Hex String to Byte Array
    public static final byte[] byteArrayFromHexString(String str) {
    byte[] bytes = new byte[str.length() / 2];
    for (int i = 0; i < bytes.length; i++)
    bytes[i] = (byte) Integer.parseInt(str.substring(2 * i, 2 * i + 2), 16);
    return bytes;
    public static String getMD5HashFromClob(Clob inhalt) throws Exception{
    MessageDigest algorithm;
    StringBuffer hexString;
    String s = null;
    String salida = null;
    int i;
    byte[] digest;
    String tepFordigest = inhalt.getSubString(1L, (int)inhalt.length());
    try {
    algorithm = MessageDigest.getInstance("MD5");
    algorithm.reset();
    algorithm.update(tepFordigest.getBytes());
    digest = algorithm.digest();
    s = toHexString(digest);
    } catch (java.security.NoSuchAlgorithmException nsae) {
    s = "No es posible cifrar MD5";
    return s;
    sho err
    alter java source "MD5" compile
    sho err
    CREATE OR REPLACE FUNCTION get_md5_CLOB(inhalt CLOB) RETURN VARCHAR2 DETERMINISTIC
    AS LANGUAGE JAVA
    name 'MD5.getMD5HashFromClob(java.sql.Clob) return java.lang.String';
    I created the above java functions and added the calls to them in my package to see what hash values they would produce but I am getting "ORA-29532: Java call terminated by uncaught Java exception: java.nio.BufferOverflowException " the XML is about 60mb.
    package code sniippets:
    declare
    l_hash raw(2000);
    l_checksum_md5 varchar2(2000);
    l_checksum_md5_utf_8 varchar2(2000);
    Begin
    t_checksum := lower(RAWTOHEX(dbms_crypto.hash(src=>l_clob,typ=>dbms_crypto.hash_md5)));
    l_hash := get_md5_CLOB (l_clob);
    l_checksum_md5 := lower(rawtohex(l_hash));
    l_hash := get_md5_UTF_8_CLOB (l_clob);
    l_checksum_md5_UTF_8 := lower(rawtohex(l_hash));
    Please help,
    Thank You in advance
    Don
    Edited by: 972551 on Nov 21, 2012 12:45 PM

    Thanks for the reply but my syntax is correct.
    t_checksum := lower(RAWTOHEX(dbms_crypto.hash(src=>l_clob,typ=>dbms_crypto.hash_md5)));
    The typ argument tells dbms_crypto what type of hash value to produce.
    This is from the Oracle Docs:
    Table 24-3 DBMS_CRYPTO Cryptographic Hash Functions
    Name      Description
    HASH_MD4 Produces a 128-bit hash, or message digest of the input message
    HASH_MD5 Also produces a 128-bit hash, but is more complex than MD4
    HASH_SH1 Secure Hash Algorithm (SHA). Produces a 160-bit hash.
    for further details see: http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_crypto.htm#i1002022
    Edited by: 972551 on Nov 21, 2012 12:46 PM

Maybe you are looking for